# Email delivery

Published articles for Email delivery.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Sending bulk email in Python? Prioritize practices that get your mail delivered

DevFeed: [Sending bulk email in Python? Prioritize practices that get your mail delivered](<https://devfeed.tech/articles/sending-bulk-email-in-python-prioritize-practices-that-get-your-mail-delivered-16083.md>)

Original publisher: [Read original article](<https://postmarkapp.com/blog/sending-bulk-email-in-python-prioritize-practices-that-get-your-mail-delivered>)

Author: Greg Svoboda (gsvoboda@activecampaign.com)

Published: 2026-07-14T18:13:00Z

Content type: tutorial

Language: en

Sources: [Postmark (en-US)](<https://devfeed.tech/sources/postmark-en-us.md>)

Topics: [Python](<https://devfeed.tech/topics/python.md>), [Code](<https://devfeed.tech/topics/code.md>), [CSV](<https://devfeed.tech/topics/csv.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [deliverability](<https://devfeed.tech/tags/deliverability.md>), [email](<https://devfeed.tech/tags/email.md>), [email-delivery](<https://devfeed.tech/tags/email-delivery.md>), [orchestration](<https://devfeed.tech/tags/orchestration.md>), [python](<https://devfeed.tech/tags/python.md>)

### AI overview

This tutorial explains how to send bulk email with Python while protecting sender reputation and deliverability. It argues that a basic smtplib script, CSV mailing list, and sending loop can cause delivery problems without a solid reputation-management foundation.

### Source excerpt

Bulk email has a reputation problem, but users often misplace the blame. Recipients associate bulk email with spam, inbox clutter, and irrelevant marketing campaigns. Senders associate it with poor deliverability, complicated orchestration, and the constant fear of landing in spam folders. If you handle bulk email, these problems may sound familiar. The DIY Python approach -- install smtplib, divvy up your mailing list in a CSV file, set up a loop function, hope for the best -- all but guarantees delivery problems. The mail itself isn't the problem, though. Done properly, bulk email remains one of the most effective ways to communicate with customers at scale. The challenge is that mailbox providers aggressively punish bad sending behavior, even when it's unintentional. Successful bulk email happens when you prioritize your reputation and choose professional-quality tools to maintain it. We'll start with a high-level look at why we focus on reputation and then offer guidance on bulk email sending. Reputation: The start and end goal of successful bulk email Bulk email helps build relationships, educate customers, promote products, and keep brand image fresh. It can be tempting to dive in and start chipping away at those goals, but it's strategy that wins the race every time. Before sending anything to your bulk mailing list, let alone automating your bulk mail with Python code, turn your attention to your sender reputation: Mailbox providers use sender reputation scores to keep bad actors out of inboxes. Bad reputations mean undelivered mail. Your score combines signals from your domain, your content, and how recipients engage with your emails. Recipients read emails from senders they trust, improving your reputation. If they ignore, delete, unsubscribe, or report messages as spam, your reputation declines. The most successful bulk senders understand that reputation, deliverability, and engagement are tightly connected. And they only start sending when reputation manag

## Automate Python emails with attachments that get delivered

DevFeed: [Automate Python emails with attachments that get delivered](<https://devfeed.tech/articles/automate-python-emails-with-attachments-that-get-delivered-16078.md>)

Original publisher: [Read original article](<https://postmarkapp.com/blog/automate-python-emails-with-attachments-that-get-delivered>)

Author: Greg Svoboda (gsvoboda@activecampaign.com)

Published: 2026-06-30T15:08:00Z

Content type: tutorial

Language: en

Sources: [Postmark (en-US)](<https://devfeed.tech/sources/postmark-en-us.md>)

Topics: [Python](<https://devfeed.tech/topics/python.md>), [Security](<https://devfeed.tech/topics/security.md>)

Tags: [attacks](<https://devfeed.tech/tags/attacks.md>), [best-practices](<https://devfeed.tech/tags/best-practices.md>), [code](<https://devfeed.tech/tags/code.md>), [deliverability](<https://devfeed.tech/tags/deliverability.md>), [email-delivery](<https://devfeed.tech/tags/email-delivery.md>), [files](<https://devfeed.tech/tags/files.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [phishing](<https://devfeed.tech/tags/phishing.md>), [python](<https://devfeed.tech/tags/python.md>), [security](<https://devfeed.tech/tags/security.md>), [zip](<https://devfeed.tech/tags/zip.md>)

### AI overview

This tutorial explains how to automate Python emails with attachments while improving deliverability. It covers common causes of attachment-related bounces, including security policies, sender reputation, and inbox-provider restrictions, and recommends examining SMTP bounce messages and error reports.

### Source excerpt

Some of the most important emails require attachments, such as receipts, order confirmations, contracts, or digital assets. You need those emails to arrive automatically and reliably when customers and partners expect them. But attachments tend to increase bounce rates due to either security concerns, reduced engagement signals, or inbox provider policies, making deliverability harder to guarantee. A few key practices help you get top-tier deliverability when email attachments really matter: Follow general email guidelines Understand where problems happen and how to spot them Create processes that put best practices in motion Automate to scale your success for a higher volume Below, we'll show you how to implement these practices in a Python application. Why emails with attachments fail delivery Email bounces happen for a host of reasons. If you send attachments and see bounces, those files are likely causing delivery failures. Attachments pose security risks Phishing and malware attacks often use attachments, so inbox providers scrutinize them closely: Providers automatically block anything executable or compressed (e.g., .7z, .rar, .exe). This policy often extends to .zip files. Providers see red flags when you send unsolicited attachments, especially from new domains, even for "safe" file types like PDFs. Attachments affect sender reputation Recipients tend to avoid opening messages with unexpected attachments. Lower open rates, in turn, harm your domain reputation, making it even harder to deliver your emails. Improving your deliverability starts with digging into exactly where you're having problems. The first resource to consult is SMTP bounce messages. Study your bounce messages If your emails regularly bounce back, it's fair to assume the underlying issue is the file attachments. You can find out more by examining the error reports. The Postmark dashboard helps you make sense of errors. If you don't have the tool set up, you can look into the bounce messages

## Sending mission-critical emails in Python: SMTP or API?

DevFeed: [Sending mission-critical emails in Python: SMTP or API?](<https://devfeed.tech/articles/sending-mission-critical-emails-in-python-smtp-or-api-16084.md>)

Original publisher: [Read original article](<https://postmarkapp.com/blog/sending-mission-critical-emails-in-python-smtp-or-api>)

Author: Greg Svoboda (gsvoboda@activecampaign.com)

Published: 2026-04-29T15:24:00Z

Content type: tutorial

Language: en

Sources: [Postmark (en-US)](<https://devfeed.tech/sources/postmark-en-us.md>)

Topics: [Python](<https://devfeed.tech/topics/python.md>), [API](<https://devfeed.tech/topics/api.md>), [Protocol (disambiguation)](<https://devfeed.tech/topics/protocol.md>), [servers](<https://devfeed.tech/topics/servers.md>), [Library](<https://devfeed.tech/topics/library.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [code](<https://devfeed.tech/tags/code.md>), [email-delivery](<https://devfeed.tech/tags/email-delivery.md>), [environment-variables](<https://devfeed.tech/tags/environment-variables.md>), [library](<https://devfeed.tech/tags/library.md>), [protocol](<https://devfeed.tech/tags/protocol.md>), [python](<https://devfeed.tech/tags/python.md>), [server](<https://devfeed.tech/tags/server.md>), [third-party](<https://devfeed.tech/tags/third-party.md>)

### AI overview

This tutorial compares sending email from Python applications through SMTP versus an email provider's API. It explains SMTP's quick setup and portability, while noting scalability, spam-flag, troubleshooting, and functionality tradeoffs associated with each approach.

### Source excerpt

If you need to send emails from an application, it's a good idea to think about how your usage changes over time. As with many technology choices, there's a tradeoff between up-front efficiency and long-term flexibility. You have two main choices for sending emails through your Python application. The first is SMTP -- the standard protocol for outgoing email. The second option sidesteps SMTP's complexities by using an email provider's API for richer functionality. This article compares sending email in Python using SMTP and API. SMTP is quick to set up--especially with a library like smtplib--but it won't scale as your app grows, puts you at risk of spam flags, and makes diagnosing problems complex. An API setup takes a little longer, but it yields dividends with features you can leverage in many ways. Go lean with SMTP SMTP is a basic, universal protocol for sending email. Direct SMTP implementation is as close as you can get to DIY email, but even the simplest sending setup still requires a third-party SMTP server. Technically speaking, you could host your own SMTP server, but it's rarely a good tradeoff. Inbox providers pay close attention to sender reputation to determine which emails make it through. An established SMTP service helps ensure your emails are actually delivered. The code below uses the Postmark SMTP servers. Start fast with common tools (like smtplib) Sending email with SMTP is straightforward and very similar in any application. Once set up, the advantage is that you can try a new service without completely overhauling your application -- you can change SMTP service providers using the same code. To implement SMTP in a Python application, use the built-in library called smtplib and follow these steps: 1. Import smtplib You don't need to install any new libraries -- the SMTP module is included when you install Python. Just import it, along with MIMEText, which helps with email formatting: import smtplib from email.mime.text import MIMEText 2. Set up yo

## How Goldcast scaled event orchestration to millions using Temporal

DevFeed: [How Goldcast scaled event orchestration to millions using Temporal](<https://devfeed.tech/articles/how-goldcast-scaled-event-orchestration-to-millions-using-temporal-35854.md>)

Original publisher: [Read original article](<https://temporal.io/blog/how-goldcast-scaled-event-orchestration-to-millions-using-temporal>)

Author: Himalaya Gahlot

Published: 2026-01-20T00:00:00Z

Content type: article

Language: en

Sources: [Temporal Blog](<https://devfeed.tech/sources/temporal-blog.md>)

Topics: [Orchestration](<https://devfeed.tech/topics/orchestration.md>), [email](<https://devfeed.tech/topics/email.md>), [real-time](<https://devfeed.tech/topics/real-time.md>), [data](<https://devfeed.tech/topics/data.md>), [Databases](<https://devfeed.tech/topics/databases.md>)

Tags: [community](<https://devfeed.tech/tags/community.md>), [databases](<https://devfeed.tech/tags/databases.md>), [email-delivery](<https://devfeed.tech/tags/email-delivery.md>), [infrastructure](<https://devfeed.tech/tags/infrastructure.md>), [legacy](<https://devfeed.tech/tags/legacy.md>), [operations](<https://devfeed.tech/tags/operations.md>), [orchestration](<https://devfeed.tech/tags/orchestration.md>), [queues](<https://devfeed.tech/tags/queues.md>), [real-time](<https://devfeed.tech/tags/real-time.md>), [scale](<https://devfeed.tech/tags/scale.md>), [workflows](<https://devfeed.tech/tags/workflows.md>)

### AI overview

Goldcast describes how it adopted Temporal to support reliable email delivery and event duplication for large-scale marketing operations.

### Source excerpt

Goldcast shares how Temporal Workflows power reliable email delivery and event duplication at scale, boosting success rates and speeding operations.

## Secure email delivery with XOAUTH2

DevFeed: [Secure email delivery with XOAUTH2](<https://devfeed.tech/articles/secure-email-delivery-with-xoauth2-31710.md>)

Original publisher: [Read original article](<https://www.keycloak.org/2025/05/send-mails-xoauth-26-2>)

Author: Sebastian Rose

Published: 2025-05-18T00:00:00Z

Content type: tutorial

Language: en

Sources: [Keycloak Blog](<https://devfeed.tech/sources/keycloak-blog.md>)

Topics: [Keycloak](<https://devfeed.tech/topics/keycloak.md>), [Authentication](<https://devfeed.tech/topics/authentication.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [Azure](<https://devfeed.tech/topics/azure.md>), [Cloud](<https://devfeed.tech/topics/cloud.md>), [notifications](<https://devfeed.tech/topics/notifications.md>), [passwords](<https://devfeed.tech/topics/passwords.md>), [password reset](<https://devfeed.tech/topics/password-reset.md>)

Tags: [authentication](<https://devfeed.tech/tags/authentication.md>), [azure](<https://devfeed.tech/tags/azure.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [credentials](<https://devfeed.tech/tags/credentials.md>), [email-delivery](<https://devfeed.tech/tags/email-delivery.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [idm](<https://devfeed.tech/tags/idm.md>), [kerberos](<https://devfeed.tech/tags/kerberos.md>), [keycloak](<https://devfeed.tech/tags/keycloak.md>), [ldap](<https://devfeed.tech/tags/ldap.md>), [notifications](<https://devfeed.tech/tags/notifications.md>), [openid-connect](<https://devfeed.tech/tags/openid-connect.md>), [password](<https://devfeed.tech/tags/password.md>), [passwords](<https://devfeed.tech/tags/passwords.md>), [saml](<https://devfeed.tech/tags/saml.md>), [smtp](<https://devfeed.tech/tags/smtp.md>), [sso](<https://devfeed.tech/tags/sso.md>), [using](<https://devfeed.tech/tags/using.md>)

### AI overview

Keycloak 26.2 adds XOAUTH2 support to SMTP authentication, allowing token-based email delivery with client credentials. The article explains how to configure and test the feature, including Microsoft Azure, and notes that Google requires additional functionality and is not yet supported.

### Source excerpt

Keycloak relies on email functionality for tasks like password resets, user verifications, and notifications. A common setup is for Keycloak to authenticate to the SMTP server with a username and password. With issue #17432, the Keycloak community raised the need for token-based authentication with XOAUTH2, as some providers deprecated the authentication for SMTP with passwords. With Keycloak 26.2, the SMTP AUTH configuration now supports XOAUTH2. As Keycloak's role is that of an application, it uses the client credentials grant to fetch the token. The SMTP AUTH configuration in Keycloak now supports all required fields to fetch such a token with client id and client secret. When implementing this functionality, I found that while it works with Microsoft Azure and Office365, it would need a different mechanism for providers like Google. So let's follow through this example, and then discuss if we need something different from SMTP altogether. Configuring Keycloak to send emails with XOAUTH2 The following assumes that you are working with Keycloak 26.2. In a realm, navigate to Realm Settings -> Email and fill in the fields. To see the new XOAUTH2 feature, enable Authentication via the radio-button and switch the Authentication Type from Password to Token. You can find further details in the documentation on sending emails. ' ' '

## Cashier Stripe: Metered Billing and Stripe Checkout Support

DevFeed: [Cashier Stripe: Metered Billing and Stripe Checkout Support](<https://devfeed.tech/articles/cashier-stripe-metered-billing-and-stripe-checkout-support-3607.md>)

Original publisher: [Read original article](<https://laravel.com/blog/cashier-stripe-metered-billing-and-stripe-checkout-support>)

Author: Dries Vints

Published: 2021-02-08T16:25:00Z

Content type: release

Language: en

Sources: [Laravel Blog](<https://devfeed.tech/sources/laravel-blog.md>)

Topics: [stripe](<https://devfeed.tech/topics/stripe.md>), [dashboards](<https://devfeed.tech/topics/dashboards.md>)

Tags: [billing](<https://devfeed.tech/tags/billing.md>), [checkout](<https://devfeed.tech/tags/checkout.md>), [email-delivery](<https://devfeed.tech/tags/email-delivery.md>), [payments](<https://devfeed.tech/tags/payments.md>), [stripe](<https://devfeed.tech/tags/stripe.md>), [updates](<https://devfeed.tech/tags/updates.md>)

### AI overview

The article announces updates to Cashier Stripe, adding Stripe Checkout support and metered billing subscription plans. Stripe Checkout lets developers use a hosted checkout page, while metered billing supports invoicing customers according to usage instead of a fixed recurring amount.

### Source excerpt

Today we are excited to announce that Cashier Stripe has received some long anticipated updates, including support for [Stripe Checkout](https://stripe.com/en-be/payments/checkout) as well as support...