The home for email pros.

Build your brand, showcase your work, get found by recruiters, and grow your career — with a professional profile, portfolio, community & tools. 100% free.

Continue with

Free forever for solo marketers · No credit card required

Email News

What's happening in the email world, updated every day.

S-SolsDeliverability

Comprehensive Guide on Email Deliverability Authentication Published

A technical guide emphasizes treating modern email authentication protocols (SPF, DKIM, DMARC) with the same rigor as SSL certificates and disaster recovery backups, stressing post-provider validation.

Why it matters: Heightened mailbox provider enforcement makes continuous audit and verification of DNS authentication records essential to prevent accidental deliverability outages during platform migrations.

Read our analysis
LA Tech PostESP & Platforms

ESP Comparison & Product Positioning: Klaviyo vs. HubSpot Breeze AI

An in-depth teardown of modern AI capabilities across top email service providers (ESPs) examined the technological divergence between Klaviyo and HubSpot's CRM-integrated Breeze AI. The report notes how agentic AI and predictive attribution are defining modern email tooling: Klaviyo’s automation depth centers heavily on real-time catalog sync, predictive churn scoring, and transactional SMS/email integration, while HubSpot’s Breeze AI differentiates by tethering email generation directly to multi-touch CRM pipelines. The comparison evaluates both tiers against recent ESP pricing adjustments and the rise of autonomous AI marketing workflows.

Why it matters: Highlights how major ESPs are competing on agentic AI capabilities and CRM integration, helping marketing teams evaluate platform shifts and pricing trade-offs.

Read our analysis
Mailora BlogDeliverability

Gmail Rolls Out Political Verified Sender Program Requirements

Gmail has launched a Verified Sender Program starting in September 2026. The program establishes explicit sender verification and identity standards, distinguishing identity proofing from inbox placement while creating new commercial sender considerations.

Why it matters: Email marketers and commercial senders must understand how Google's evolving identity standards impact sender trust, inbox sorting, and technical compliance across major inbox providers.

Read our analysis

Today's email jobs

Fresh email marketing, lifecycle & email dev roles, updated daily.

South West Water logo

Marketing Automation Lead

South West Water

Middlemoor, Exeter

45,000 - 45,000

2026-09-02

Marketing AutomationOnsiteLead / Head
via Adzuna
Gallagher logo

Marketing Automation Traffic Manager

Gallagher

Hillhead, Glasgow City Centre

38,932 - 38,932

2026-08-27

Marketing AutomationOnsiteFull-timeMid-level
via Adzuna
Nextech logo

Marketing Automation Manager

Nextech

Milton Keynes, Buckinghamshire

48,631 - 48,631

2026-09-08

Marketing AutomationOnsiteMid-level
via Adzuna

Latest posts

Updates, tips and work shared by email pros.

Alan Molina

about 1 month ago

How to Use AMPscript in SFMC: A Developer’s Guide

Salesforce Marketing Cloud (SFMC) is a powerhouse for enterprise messaging, but its true potential is unlocked through AMPscript. As a proprietary server-side scripting language, AMPscript allows you to inject personalized content, execute conditional logic, perform data lookups, and manipulate data within your emails right before they hit the subscriber's inbox. Whether you are rendering dynamic first names or pulling real-time inventory from a Data Extension (DE), mastering AMPscript is essential for any senior email developer. Understanding the Basics of AMPscript Syntax AMPscript blocks are enclosed within specific delimiters: %%[ for multi-line script blocks and %% for inline variables and functions. HTML %%[ /* Declare variables and set values */ VAR @firstName, @loyaltyStatus Set @firstName = AttributeValue("First_Name") Set @loyaltyStatus = AttributeValue("Loyalty_Tier") ]%% <p>Hello %%=v(@firstName)=%%, thank you for being a valued member!</p> Key Rules to Remember: Variable Declaration: Always declare your variables at the top of your script block using the VAR keyword and prefix them with an @ symbol. AttributeValue Function: Always use AttributeValue() instead of directly calling profile attributes (e.g., _subscriberkey or custom fields). It prevents rendering errors if a field happens to be missing or null for a specific send. The Print Function (v()): Use %%=v(@variable)=%% to output the evaluated value of a variable into your HTML markup. Step-by-Step Implementation: Conditional Logic One of the most common use cases for AMPscript is changing the content of an email based on subscriber data. Let's look at how to display custom messaging depending on a subscriber's loyalty tier. HTML %%[ VAR @tier, @discountCode Set @tier = AttributeValue("Loyalty_Tier") If @tier == "Gold" THEN Set @discountCode = "GOLD20OFF" Elseif @tier == "Silver" THEN Set @discountCode = "SILVER10OFF" Else Set @discountCode = "WELCOME5" EndIf ]%% <div class="promo-box"> <h3>Your Exclusive Reward</h3> <p>Use code <strong>%%=v(@discountCode)=%%</strong> at checkout to redeem your member discount.</p> </div> Advanced Power: Performing a LookupRows() Instead of overloading your sending Data Extension with fields that change frequently, you can pull related data dynamically from a separate Data Extension using LookupRows. HTML %%[ VAR @email, @rows, @rowCount, @i, @productName, @orderDate Set @email = EmailAddress_ /* Lookup orders from a separate relational DE called "Recent_Orders" */ Set @rows = LookupRows("Recent_Orders", "Subscriber_Email", @email) Set @rowCount = rowcount(@rows) If @rowCount > 0 THEN Output(v("<p>Here are your most recent orders:</p><ul>")) FOR @i = 1 to @rowCount DO VAR @row, @pName Set @row = row(@rows, @i) Set @pName = field(@row, "Product_Name") Output(v(Concat("<li>", @pName, "</li>"))) NEXT @i Output(v("</ul>")) Else Output(v("<p>Check out our latest arrivals today!</p>")) EndIf ]%% Best Practices for SFMC Developers Fail Gracefully: Always wrap personalization logic in fallback handlers. If a data lookup fails or returns null, make sure your subscriber sees a clean default value rather than blank spaces or system error codes. Test Thoroughly with Preview & Test: Never rely solely on visual inspection. Use the Test Subscriber feature in SFMC to cycle through multiple subscriber profiles with different data conditions to ensure your conditional logic and loops evaluate correctly. Keep Processing Times in Mind: Heavy database lookups (LookupRows, BuildRowsetFromString) can impact overall send-speed performance during large enterprise batch deployments. Optimize your data extensions with proper indexing when executing complex queries at scale.

View post →
Ravi Deshmukh

about 1 month ago

The five checks that catch 80% of bugs

Link destinations with UTMs resolved. Alt text on every image. Preheader not accidentally pulling the first line of body copy. Merge tags rendered with a real profile and an empty one. Unsubscribe link actually unsubscribing. That's it. Five minutes. It catches nearly everything embarrassing.

View post →
Ravi Deshmukh

about 1 month ago

Accessible email is not a separate email

Semantic tables with role=presentation, real text instead of image text, 4.5:1 contrast, descriptive link copy instead of 'click here', and a logical reading order. None of that requires a different design. It requires deciding it matters before the design is signed off.

View post →