Urgent.News

What's breaking now, across thousands of outlets.

Tech

Your first transactional email shouldn't need a new account

Every side project eventually needs to send an email: a welcome message, a password reset, a receipt. And that's usually the moment the project quietly grows a second project — a mail-service account, API keys, a template system, a test setup, and the question of what happens when the provider is down. Yatta JS keeps email inside the backend. It's a backend-as-a-server for Bun: one process with…

Every new project eventually requires sending an email, such as a welcome message, password reset, or receipt. This often leads to the project quietly incorporating a second project - a mail service account, API keys, template system, testing setup, and the question of what happens when the provider is unavailable. Yatta JS simplifies the email process by keeping it within the backend.

It functions as a backend-as-a-server for Bun, incorporating database, authentication, email, storage, real-time, jobs, and observability functionalities into a single process. The mail engine is already included, allowing developers to create a mailer using the createMailer function from the yatta.js/mail package. In development, emails print to the console; however, when ready for real delivery, changing one line in the code switches the mode to SMTP and selects a provider preset like Resend, Postmark, SendGrid, SES, Gmail, Mailgun, or Brevo, which automatically fills in host, port, and TLS settings.

Developers only need to add their credentials and set up a verified From address on a domain. The integration is straightforward, requiring only credentials and a verified From address on a domain. Templates are typed, allowing registration once with their data shape, and sending them with one call. Await the send method to dispatch emails, using a preview call to render without sending, and a memory mode for testing, enabling assertions without network traffic.

Yatta JS offers safety features like stripped header values, template value escaping, RFC 8058 unsubscribe, idempotency keys, retries, and rate limiting. Docs and code can be found at https://yatta.js.org and https://github.com/psrockstar098/yatta.js, respectively.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

What I'd Do Differently If I Started Buzz Capitol Today

I launched Buzz Capitol in 2026. It is an independent digital news and media site, and I run it as founder, CEO and editor-in-chief.

  • Pace the launch by limiting initial stories to establish trust through meticulous coverage.
  • Establish editorial standards beforehand to ensure content quality and transparency.
  • Cultivate a habit of decisively saying no to non-essential stories to protect readers' attention.

Pacing a Founder's Week: Channels, a News Site and an Academy Without Burning Out

I run more things than most people expect one person to run. Fifteen-plus YouTube channels. Buzz Capitol, the independent news site I founded and edit.

  • Founder manages 15 YouTube channels, news site, academy, and 6 books
  • Changed approach from daily launch mindset to focused daily tasks
  • Prioritizes rest and selective exclusion to maintain quality and pace

숏폼 콘텐츠 홍수 속에서 '약시'를 VR로 재정의한 Amblyotube의 기술적 접근법 ㅤ 인도의 마이크로드라마 플랫폼 EloElo가 NBCUniversal로부터 8,000만 달러를 유치하며, 숏폼 비디오 시장의 폭발적 성장을…

숏폼 콘텐츠 홍수 속에서 '약시'를 VR로 재정의한 Amblyotube의 기술적 접근법 ㅤ 인도의 마이크로드라마 플랫폼 EloElo가 NBCUniversal로부터 8,000만 달러를 유치하며, 숏폼 비디오 시장의 폭발적 성장을 다시 한번 입증했습니다.

  • Amblyotube aims to redefine short-form content through VR technology.
  • Addresses amblyopia risk from prolonged close-range screen time.
  • Utilizes Meta Quest 2/3/Pro/3S hardware for dichoptic streaming.

That .apkm file will not install from your file manager

Downloaded a beta update today. Tapped the file in the file manager. Nothing happened. No error, no install screen. Nothing. The file was fine. The format was the problem.

  • .apkm files are zipped archives containing multiple components
  • User needed to use adb and unzip .apkm file
  • Verified update validity before installation

More from Sunday 8 November →