Blog Archive - Mailjet: Email Delivery Service for Marketing & Developer Teams https://w3hy.com/blog/ Discover our easy-to-use platform for designing and sending your email marketing campaigns, newsletters, and automated emails. Tue, 16 Sep 2025 12:41:56 +0000 en-US hourly 1 https://w3hy.com/wp-content/uploads/2025/04/cropped-mailjet-favicon-32x32.png Blog Archive - Mailjet: Email Delivery Service for Marketing & Developer Teams https://w3hy.com/blog/ 32 32 Email Academy: Plan, send, and succeed this BFCM and holiday season  https://w3hy.com/blog/email-best-practices/email-academy-bfcm-recap/ Tue, 16 Sep 2025 10:05:34 +0000 https://w3hy.com/?post_type=blog&p=43021 A short round-up from our latest Email Academy session where our in-house experts uncover actionable strategies to help you stand out in the inbox, drive conversions, and make the most of the BFCM and holiday season rush.

The post Email Academy: Plan, send, and succeed this BFCM and holiday season  appeared first on Mailjet: Email Delivery Service for Marketing & Developer Teams.

]]>
Black Friday, Cyber Monday (BFCM), and the holiday season can be some of the busiest times of the year for email marketers. Consumers expect deals, inboxes are flooded with offers, and every brand is competing for attention. The difference between campaigns that succeed and those that get ignored often comes down to preparation and execution. 

In our recent Mailjet Email Academy webinar, Plan, send, and succeed this BFCM and holiday season, in-house experts Natalie Lynch (Principal Product Manager) and Julia Murljacic (Senior Email Marketing Manager) walked through the exact steps you need to make sure your campaigns don’t just sail out into the ether – they land, get read, and drive results

Here’s a full breakdown of the key takeaways and step-by-step process outlined in the webinar. 

TL; DR 

If you’d like to watch a full replay of the webinar, simply scroll down to the bottom of article.  

Step #1: Plan early and set yourself up for success 

So, when should we start thinking about our BFCM campaigns? Well, some interesting insights reported in our BFCM email marketing: What consumers want in 2025 indicate that over 50% of consumers want to hear from brands at least one month before Black Friday. If you’re waiting until Thanksgiving week, you’re already too late. 

A graph showing when consumer want to hear about BFCM deals

And it’s not just about timing. We also saw that email remains the preferred channel for Black Friday and Cyber Monday promotions, with 56.5% of respondents selecting it over the likes of WhatsApp, websites, and social media ads. Planning early ensures your campaigns reach customers where they actually want to hear from you. 

You can see some of the data below: 

A graph showing the preferred channels for Black Friday and Cyber Monday promotions in 2025.

Define your goals and KPIs 

Before you start any kind of campaign planning, you need to define your goals. What are they? What does success look like for you? Here are some tips that Julia highlighted in the webinar: 

  • Tie each campaign to a clear goal so you know what to measure. 
  • Be specific: Do you want a 20% revenue lift, 15% higher repeat purchases, or more website traffic? 
  • Don’t just say “increase engagement” – define whether that means. Higher click-throughs, conversions, loyalty sign-ups? 

Identify your stakeholders and resources

OK, so you’ve got an idea of what you want to achieve – now it’s time to think about everything needed to make that happen. Firstly, you’re going to want to lock in your audience and segments. Who does this campaign benefit, and within that group, do you need to segment down further? Then you can start getting more tactical. 

Julia highlighted some further areas you might want to consider  

  • Map out who needs to be involved internally within the organization: design, copy, developers, compliance, sales… (if you’re a one-man band well, that’s you!) 
  • Gather campaign assets early: graphics, product images, promo codes, and landing pages. 
  • Coordinate across channels – align your social ads, SMS, and website banners with your email campaigns for a consistent brand experience. 
  • Map out the timing of your sends. 

Strengthen your deliverability foundations 

Emails that fail to reach your customers and prospects are missed opportunities to connect and engage. That’s why deliverability is often referred to as that “invisible layer” of campaign success. If you skip this, even the best campaigns will fall on deaf ears. So, to combat that, Natalie suggests that you: 

  • Authenticate your sending domain (SPF, DKIM, DMARC) to prove legitimacy to mailbox providers. 
  • Regularly clean your lists and validate contacts – in our Road to the Inbox 2025 research, 39% of senders admitted they rarely or never do list hygiene, even though it’s essential for inbox placement.  
  • Implement a one-click unsubscribe – not just for compliance, but to prevent recipients from marking emails as spam. 

Step #2: Send smart and build momentum 

With inboxes more crowded than Anfield on derby day, you can’t afford to make mistakes. This means how you roll out your sends – who you target, how you test, and how quickly you scale – can make or break the performance of your campaigns.  

So, how do you ensure success?  

Warm up before you go big 

Warming up your list before BFCM helps inbox providers see consistent, positive engagement, so your emails actually land in the inbox instead of spam. If you blast your entire list at once, you risk high bounces, complaints, and a damaged sender reputation right when you need deliverability most. 

  • Begin with your most engaged contacts (e.g., those active in the last 30–90 days). 
  • Gradually expand to larger segments to build positive signals with ISPs. 
  • Avoid sending to your full list cold – it increases the risk of being filtered to spam. 
  • Keep an eye on performance metrics and refine your segments throughout the warm-up phase. 
“I would suggest that all of September could be considered the “warm-up phase” and perhaps the first two weeks of October, too. So, you’ve got a good two weeks to really build this up.”
Natalie Lynch Principal Product Manager

Segment and personalize 

Generic emails blend into inbox clutter. Segmenting and personalizing your campaign ensures subscribers get offers that feel relevant, which boosts opens, clicks, and conversions. Sending one-size-fits-all blasts, on the other hand, leads to lower engagement and a higher chance of being ignored or marked as spam. Some options you have are to: 

  • Segment by behavior: loyal customers, first-time buyers, inactive subscribers. 
  • Segment by engagement: openers/clickers in the last 90 days vs. dormant contacts. 
  • Use personalization: names, product recommendations, location-based offers. 

This isn’t just theory – our research shows that email campaigns that feel anticipated, personal, and relevant perform best. Consumers are more likely to engage when emails look like they were created for them, not for “just another name on a list.” 

A graph showing consumer preferences for personalized emails around the BFCM and holiday season.

Test before launch 

Now, before hitting that send button, it’s important to test and see how your BFCM emails render. This ensures you catch any links, images, and layout issues across devices and inboxes, protecting you from embarrassing mistakes. It also saves revenue and credibility that could be lost if customers see broken or unprofessional emails.  

  • Preview your emails across devices and clients. A design that works in Gmail may break in Outlook. 
  • Ensure your A/B tests are set up correctly. 
  • Run through every link, coupon code, and personalization token to avoid embarrassing errors. 
Mailjet's email previews
Mailjet incorporated Email Previews into its Email Editor, a feature that allows you to see exactly how your email will be displayed across the most popular devices and clients.

NOW you are able to hit send… 

But remember, timing is everything. You don’t want to send your campaign at 9:00 AM Eastern if you’ve segmented your audience by region and this group live in California. Also, make sure you’re using email automation to help schedule your campaigns. Unless you’re the type of sender that needs their finger on the trigger, this can help save a bunch of time and manual effort. 

Step 3: Measure and optimize for long-term success 

Don’t set and forget! Hitting send does not mark the finish line – it’s the start of a feedback loop. Success around BFCM isn’t about a single campaign but about learning and improving continuously. 

Track the right metrics 

Beyond checking that the campaign was sent correctly, what metrics should you be tracking, and why? Here are some of the most common to keep top of mind: 

  • Engagement: opens, clicks, unsubscribes. Which content resonated most with your audience? 
  • Delivery: bounce rates and spam complaints.  
  • Conversions: revenue, coupon redemptions, and goal completions from email. 

Remember, you’re not just track for the sake of numbers – insights matter. Inboxes are crowded, with consumers receiving dozens of promotional emails a day. Measuring what cuts through will help you refine your future sends

Pro tip: Wait at least 48 hours after the campaign has been sent to start gathering performance data. This gives enough time to all subscribers to access and engage with your campaign. 

Wait at least 48 hours after the campaign has been sent to start gathering performance data. This gives enough time to all subscribers to access and engage with your campaign. 

Keep the party going

So, what’s next? While you might be ready to hang your hat up and pat your back on a job well done – the real goal here is long-term retention. How can we keep these new subscribers and buyers engaged beyond the holiday season campaign? Natalie ran through a few options for you to consider: 

  • Send thank-you emails or follow-ups with related product recommendations. 
  • Provide educational or loyalty-focused content as part of an onboarding or nurture workflow
  • Build post-holiday nurture flows so seasonal buyers become year-round customers. 
A graph showing how soon customers expect to receive a confirmation message after placing an order

Watch the full webinar

The holiday season is crowded, but the senders who succeed are the ones who prepare early, send smart, and measure carefully. By strengthening your deliverability, segmenting audiences, and continuously refining your approach, you’ll be set up not only for BFCM but for long-term engagement. 

Did you miss the live session? Then catch the full recap below: 

The post Email Academy: Plan, send, and succeed this BFCM and holiday season  appeared first on Mailjet: Email Delivery Service for Marketing & Developer Teams.

]]>
What is the Gmail automated unsubscribe feature? https://w3hy.com/blog/deliverability/understanding-gmail-unsubscribe/ Tue, 09 Sep 2025 12:45:17 +0000 https://w3hy.com/blog/understanding-gmail-unsubscribe/ Everything you need to know about Gmail’s auto unsubscribe feature and the potential impact it could have on your email marketing efforts.

The post What is the Gmail automated unsubscribe feature? appeared first on Mailjet: Email Delivery Service for Marketing & Developer Teams.

]]>
Ah, email, the final communication frontier. From the early days of AOL to today’s large-scale email-related services, clients, and more, it has undoubtedly changed our lives and evolved over the years.

One of those email actors leading the way when it comes to change is Gmail, which is constantly incorporating features and automations to take the inbox experience to a new level. Of course, with an estimated 1.8 billion Gmail users in 2023, understanding the inbox’s features is a must for email marketers.

In this post, we’ll talk about the Gmail automated unsubscribe feature, what it means to senders, and why this is going to be so important to you come February 2024.

What is the automated unsubscribe feature on Gmail?

A while back, we talked to you about how Gmail was already adding some then-new sophistication to this header option that allows users to easily cancel their subscription to marketing emailing lists.

While the ability to unsubscribe from a contact list on Gmail has been available for some time, it had always been up to the users to determine which ones they wanted to be removed from.

Currently, Google has fully leaned into that sophistication by automating that process and actively asking the users whether they’d like to unsubscribe from certain promotional emails they haven’t opened in the last 30 days or more.

The unsubscribe suggestions are based on how many emails users receive and open from a specific sender and it means that, with just one click on the Unsubscribe button, the newsletter subscriptions will be terminated, making it even easier for recipients to stop receiving all of those unwanted emails.

A screenshot example of Gmail’s one-click unsubscribe button

How can recipients unsubscribe from your emails on Gmail?

As a marketer, it’s worth understanding the different unsubscribe options available to recipients using Gmail.

Let ’s go through some of them quickly.

Unsubscribe link in emails

The first way recipients can unsubscribe from emails is by clicking on the unsubscribe link that needs to be included in all email marketing campaigns.

Of course, as you’ll be following email marketing best practices as a sender, you’ll include an easy-to-find unsubscribe link at the bottom of your newsletter template, making it simpler for unengaged recipients to say goodbye.

This is good practice for protecting your deliverability and it also ensures you’re completely compliant with anti-spam legislation (GDPR, CAN-SPAM, CASL, etc.). And in 2024, it will be a non-negotiable for bulk email senders targeting Gmail and Yahoo users.

Here’s an example from our newsletter below:

Mailjet’s unsubscribe link in email footer

Gmail’s unsubscribe button on the email header

If you’re a Gmail user yourself, you’ve probably noticed that some emails have an Unsubscribe button at the top of the email, next to the sender’s email address.

You can clearly see it highlighted in the example below.

An example of the Gmail list-unsubscribe header

Sometimes, this unsubscribe link is also accessible by clicking the sender card to get more details.

If you’re a frequent Mailjet reader, you’ll know that adding an unsubscribe link is the best way to protect your sender reputation and avoid users from sending your email to spam.

That’s why many senders choose to incorporate a list-unsubscribe header to their emails, which makes it easier for webmail clients like Gmail to find unsubscribe settings and display them at the top of the email. If you’re sending emails from Mailjet, the list-unsubscribe header is added to your campaigns by default as a way to protect your deliverability.

On mobile apps, this unsubscribe button can be found by entering the email and clicking on the options icon in the top right-hand corner of their screen – shown as a three consecutive dotted symbol.

This will force a drop-down menu (such as the example below) with the option available to unsubscribe.

An example of how to unsubscribe from an email in the Gmail mobile app

Gmail’s block option

A block isn’t the same as an unsubscribe, but sometimes recipients will default to this if they can’t find an easy way to cancel their email subscription.

Gmail’s block option is easy to find both on desktop and mobile by accessing the message options via the three dots on the right-hand side.

An example of Gmail’s block option

Marketers should beware of this block option, though. When a recipient chooses to block an email address or sender, Gmail will directly reroute this mail to the spam folder. As a sender, you’ll never know you’ve been given the silent treatment – you’ll just see the impact in your email deliverability.

An unsubscribe, on the other hand, lets us know that they no longer want to receive a certain type of content (newsletter, new blog postings, etc.,) with the onus then being to remove recipients from said list. That’s why at Sinch Mailjet we always recommend giving recipients an easy way out.

Automated unsubscribe recommendations

The final option for recipients is Gmail’s automated unsubscribe feature, of course.

Just as we previously explained in this post, this automated feature flags brands the user hasn’t interacted with in a period of time and offers recipients a fast way to unsubscribe from them.

An example of Gmail’s automated unsubscribe feature

While the previous options rely on a user actively choosing to opt out of your email program, Gmail’s automated unsubscribe recommendations create a new dilemma for marketers: What can you do if Gmail is telling your contacts to unsubscribe? And what will this mean for your email program?

What does the Gmail automated unsubscribe feature mean for email marketers?

Quite frankly, it means that your recipients have an easier way to cancel their email subscription. So, if your newsletters are boring or irrelevant, and the reader has not opened them in a while, they’ll be prompted to unsubscribe.

Don’t panic, though. The Gmail automated unsubscribe link doesn’t have to be seen as an enemy. They could already do this with tools like unroll.me, couldn’t they? In fact, it can be seen as a way to help you clean your contact lists, which in turn improves your deliverability rate.

On top of that, if you apply email list cleaning best practices, like regularly sunsetting inactive contacts and running requalification campaigns to re-obtain consent from your newsletter subscribers, you have an up-to-date database of contacts that are interested in receiving your communications and your content. And we’re pretty sure you did, didn’t you?

All in all, what’s important to remember is that this is yet another way to keep your email list clean. At Sinch Mailjet, we always recommend that you remove inactive contacts every three to six months to ensure your open and click-through rates remain at a healthy level, to ensure the best deliverability.

The bottom line is, if you continue to strategically plan and implement your newsletter campaigns, you don’t have to worry about the unsubscribe feature.

Keep me posted! Subscribe to our newsletter to get great resources sent right to your inbox.

Check your inbox monthly for your Mailjet Newsletter!

Send me the Mailjet newsletter. I expressly agree to receive the newsletter and know that I can easily unsubscribe at any time.

What are the February 2024 Gmail unsubscribe link requirements? 

You may have heard that Google and Yahoo plan to make some serious changes when it comes to securing subscribers’ inboxes.

Well, you heard right – as of February 2024 Google announced it’ll be requiring senders to abide by a set of industry best practices to both improve email authentication and deliverability. 

These new requirements will affect bulk senders – those sending over 5000+ to Gmail addresses in one day – with one of them being the mandatory inclusion of a one-click unsubscribe option for readers.

Now, seeing as most email senders will be attempting to reach Gmail and Yahoo inboxes, this likely affects you. So, what can you do to ensure you comply with these new mandates?

What­ you’­ll need­

How to get ther­e

Sa­me for Gmai­l and Yaho­o: A sing­­le-click path­­way for user­­s to easi­­ly unsu­­bscribe from­­ your­­ mess­­ages from­­ with­­in the mail­­box prov­­ider’s UI usin­­g list­­-unsubscribe head­­ers, and inte­­rnal supp­­ort to hono­­r unsu­­bscribe requ­­ests and remo­­ve addr­­esses from­­ rele­­vant emai­­l list­­s with­­in 2 days­­.

Send­­ers will­­ need­­ to put list­­-unsubscribe post­­ head­­ers into­­ the head­­er of thei­­r emai­­l as spec­­ified by RFC­­ 8058­­.

URGENT: We can’t stress enough how important it is that you update your email sending policy to include a one-click unsubscribe link. Failure to do so could seriously tarnish your sender reputation and lead to further deliverability problems down the line. 

How to avoid Gmail mass unsubscribes

At Sinch Mailjet, we think the strongest email campaign is the one your contacts really want to receive. The best solution to avoid contacts unsubscribing is to create targeted and relevant emails, and to only send them to those that actually interact with your communications.

To help you maintain an engaged subscription base, here are some top tips.

Segment your contact lists

Don’t send the same email to all your contacts. Use segmentation to send content that is tailored to your contacts based on different data, such as behavior, location, age, and gender. Combine it with personalization to make it even more human. The more relevant your email is, the more engagement it will generate among your subscribers.

Send reactivation and retention campaigns to inactive contacts

Every three or six months, identify subscribers that haven’t interacted with your emails and send them a special campaign in which you remind them of the value they offer, and in which you ask them to confirm their subscription or take an action using their account. You can include a survey to understand what content they’d like to receive, or highlight what they have missed in those past months. Because of these reminders and attention, they’re less likely to take the unsubscribe option and more likely to stay with you.

A great example of a reactivation campaign comes from the home decor company Framebridge. In this email, they ask the recipient to confirm that they want to stay on Framebridge’s mailing list.

An example of a reactivation email campaign from Framebridge

The email is short, to the point, and gets its message across. Additionally, the email uses color to draw attention to its call-to-action, which takes the form of a large, colorful button. It’s very easy for any reader to understand how to take action and keep themselves on the mailing list. This email deserves a frame, right?

Okay, we tried.

Set up sunset policies for inactive users

No, this doesn’t mean inactive users are jetted off on holiday to the Andalusian coast, cocktail in hand, to enjoy one of Europe’s finest sunsets…

A sunset policy is a common email segmentation strategy that identifies and discontinues sending emails to disengaged contacts or subscribers who don’t open your emails.

However, there’s big difference between cleaning your list and sunsetting.  While you often only conduct list cleaning every few months, an automated sunset policy allows you to automatically identify disengage contacts and promptly exclude them from your email sends, effectively mitigating the negative impact they could have on your email deliverability.

Use our Exclusion List to avoid sending emails to inactive contacts

If you don’t want to remove your zombie contacts from your list forever, you can add them to your Exclusion List. This way, contacts will stay in your database, but won’t receive your emails.

You can find your Exclusion List inside the Mailjet app. To do so, you’ll just need to click the Exclusion List button under the Conctacts drop-down in the top menu.

A screenshot of Mailjet’s Exclusion List

Wrapping up

The Gmail automated unsubscribe feature might feel spooky at first but, by following the above tips and continuing to use email best practices, you can ensure that you’re keeping your email program as healthy as possible. That way, as Gmail and other services continue to refine their features, your mailing list and customer relationships will stay strong.

Keep me posted! Subscribe to our newsletter to get great resources sent right to your inbox.

Check your inbox monthly for your Mailjet Newsletter!

Send me the Mailjet newsletter. I expressly agree to receive the newsletter and know that I can easily unsubscribe at any time.

The post What is the Gmail automated unsubscribe feature? appeared first on Mailjet: Email Delivery Service for Marketing & Developer Teams.

]]>
Noreply email address: Best practices for your email strategy https://w3hy.com/blog/deliverability/noreply-email-address/ Tue, 09 Sep 2025 12:36:12 +0000 https://w3hy.com/blog/noreply-email-address/ Discover what a noreply email address is and the negative impact it can have on your business and your deliverability. Optimize your strategy with these tips.

The post Noreply email address: Best practices for your email strategy appeared first on Mailjet: Email Delivery Service for Marketing & Developer Teams.

]]>
Have you ever tried to contact a brand to get them to stop sending you emails, only to receive an automated reply that says your email failed to be delivered? If you have, you’ve met the villain of our story: the noreply email address.

Noreply addresses are the brick wall of digital marketing – no matter how much recipients try to get their message through, there’s just no way to contact the sender.

But what role does this type of address play in an email strategy? In this post, our friend Chris Arrendale, CEO and founder of Inbox Rev, explains what a noreply address is and why sending your marketing emails using a reply-to address is always the best idea.

What is a noreply email address?

A noreply email is an email address that is not monitored and blocks customers from replying. You’ve likely seen this type of sender address before – most of the time it looks like this: noreply@domain.com.

There is a misconception that sending from a noreply email address is the best way to go to avoid being flooded with email replies. Many businesses use this type of email address for receipts or account creation and shipping confirmations. However, it can confuse and frustrate customers if their replies go unanswered or worse – bounce.

Image showing “Do not reply email responses” in a Gmail inbox.

Noreply email examples

Still unsure of what a noreply email looks like in your inbox? We’ll highlight a few of the most common examples you’ll likely receive from brands:

Product/Service subscription

Example of a service subscription noreply email

Terms of service changes

Example of a terms of service noreply email

Email/Account verification

Example of an email verification noreply email

Welcome email

Example of a welcome noreply email

Order/Purchase confirmation

Example of an order confirmation noreply email

Let’s explore why it’s never a good idea to use a noreply email address for your email marketing campaigns and what you should use instead.

Noreply email addresses generally use the format “noreply@domain.com” and are created to block or discourage recipients from replying to a company’s email campaigns.

Why you shouldn’t use a noreply address in email marketing

While noreply addresses are tempting, there are a few reasons why you shouldn’t use one. Here are the most important things to consider:

It decreases deliverability and increases spam foldering

Certain ISPs, network spam filters, and customers’ personal email security settings are set up to send noreply email to the junk folder. This will decrease your open and overall deliverability rates and will increase your chances of landing in the spam folder. Being inboxed less leads to lower possible conversions, especially when sending blast emails.

Also looking at email trends from a broader sense, 53% of email is opened on mobile devices. To accommodate for the smaller screen, many email clients set their inboxes on mobile devices to just show a preview of the sender and your email address as well. As a consumer, would you open an email with a noreply email address? You’re more likely to feel like a company is unapproachable.

Keep me posted! Subscribe to our newsletter to get great resources sent right to your inbox.

Check your inbox monthly for your Mailjet Newsletter!

Send me the Mailjet newsletter. I expressly agree to receive the newsletter and know that I can easily unsubscribe at any time.

It can hurt your customer experience

When a customer replies to an email, it’s because they have something to share. They could have a support question, a comment about your product or service, or just some constructive feedback that can help a brand with its marketing efforts. Adding your contact information to your email campaigns will help direct some of these comments, but it’s likely many of your customers still opt for just replying to your campaigns. If they get an auto-reply notification telling them the email can’t be delivered, how do you think they’ll feel?

Post-GDPR, it is also more important than ever to take the time to evaluate whether you should use a no-reply address for your marketing campaigns. How can you expect your subscribers to contact you to claim their rights if you don’t allow them to do so? An autoresponder is just not good enough.

Noreply email addresses lead to a poor customer experience and put you at risk of non GDPR compliance. We recently put together an article on how to conduct an email compliance audit to make sure your email program stays on the right side of the marketing laws.

Swapping out the noreply for a reply-to address

Most ISPs do not allow email recipients to add noreply emails to their address books. If a recipient can’t add you to their address book, you’re more likely to be flagged as spam and sent to the junk folder. It is also much more likely for subscribers to hit the spam button if they can’t reply back requesting removal of their email address. I’ve seen cases where customers unsubscribed from some of their favorite brands because noreply emails addresses were not being monitored.

Another interesting point to remember is that it shows credibility to ISPs when recipients engage with your email, replying to your email being one of those cases. Safe sender privileges include bypassing some of an ISPs mail filters and delivering straight to the inbox.

Best practices when sending email replies

Hopefully, by now you understand the importance of adding a reply-to address to your marketing and transactional emails. To help you implement yours, here are some best practices you should keep in mind.

Create a dedicated email address for email responses

Setting up a dedicated reply-to address will help you filter and follow up on customer feedback. Create an email distro and ensure relevant team members, like support team agents or community managers, have access to the address.

For example, you could set something up like:

  • hello@company
  • contact@company
  • helpdesk@company
  • information@company
  • support@company

Sometimes, that dedicated email address might be connected to support software tools like Zendesk, which allow companies to create a generic support email address for incoming support tickets.

If you’ve not set up a custom domain yet, we highly recommend you do so. It improves your sender reputation, builds brand credibility in the inbox, reduces susceptibility to phishing, and helps with email authentication.

However, if you’ve not got around to setting up a custom domain yet and are using a free email provider such as Gmail, this can still be set up easily.

Set up filters for specific autoresponders

We’ve all suffered it. Every company’s reply-to address usually receives an influx of out-of-office messages and other automated responses after a campaign is sent.

To avoid these types of messages clogging your dedicated email address, filter out messages containing keywords such as “delivery notification” or “out of office” in the subject line or body of the email. This will make handling the legitimate messages easier.

Keep an eye on the unsubscribes

As mentioned before, some people skip over the unsubscribe link and reply directly to your email asking to be removed. These customers bypass the unsubscribe link because they’re afraid it will only flood their mailbox with more emails.

Make sure you honor these requests promptly and remove the email addresses from your list. The last thing you want is for these recipients to feel like they are being unheard and in frustration, mark your email as spam.

Also, monitor your reply email address if you’re sending to a domain where the recipient never opted into your email program (something you shouldn’t be doing anyway). The mail administrator (at the recipient’s domain) may try to contact you at your reply email address.

This is a crucial moment because if you don’t respond back, the email recipient may report you to a blocklist and/or try to contact the email service provider (ESP) or data center to complain about your email.

Unsubscribed customer profile

Build the best conversation

A reply-to email address is essential to any email marketing program. It fosters two-way communication and nurtures the conversation between you and your customers.

Many B2B senders will use a sales person’s email address as the reply-to to keep the conversation personal and on a more one-to-one level, while B2C senders may use a general reply-to address that may be monitored by multiple email marketing professionals.

Both scenarios build the confidence that when the recipient replies to the marketing email, the email will be received and followed up on.

Provide support throughout the customer journey

Often, customers reply to emails because they have a support request or concern, or there’s probably something in your email they want to know more about.

When planning your campaigns, think about the kind of questions users might have and proactively offer resources that help answer them.

This will be especially important post-purchase or during the onboarding period. Including links to additional resources, FAQ pages, technical documentation, or your help center will help reduce the number of responses your reply-to address gets and improve your customer experience overall.

Summing up: Say NO to noreply email addresses

To sum it up, the noreply email address should never be used to send from. It tells your customers that you don’t really care what they have to say.

By using a noreply email address, you’re also missing out on an important opportunity to collect feedback and learn how to improve your product and also it’s not the best way to grow your email list.

So now you know: Swap your noreply to a reply-to email address and build a stronger relationship with your recipients.

Want to learn more about email deliverability best practices? Sign up to our newsletter now and get all the tips and tricks in your inbox.

***

This blog post was written by Chris Arrendale, the CEO and Founder of Inbox Pros. Chris has more than 13 years of experience in the technology and software industry and has worked directly with many different ISPs, webmail providers, spam filter providers, blocklists, and partners to resolve email deliverability and privacy issues. He works with many leading organizations and enterprises to ensure regulatory compliance and maximum deliverability across all systems.

The post Noreply email address: Best practices for your email strategy appeared first on Mailjet: Email Delivery Service for Marketing & Developer Teams.

]]>
Email headers: What are they and how to read them https://w3hy.com/blog/deliverability/how-to-read-email-headers/ Tue, 09 Sep 2025 12:28:51 +0000 https://w3hy.com/blog/how-to-read-email-headers/ Email headers include valuable information. Find out what they are, why they are important, and how to get them in email clients like Gmail, Outlook, and Yahoo.

The post Email headers: What are they and how to read them appeared first on Mailjet: Email Delivery Service for Marketing & Developer Teams.

]]>
Hands up if you heard someone talk about email headers but had no idea what they were. Or, even worse, maybe your technical team asked you to send them the full header of your email, and you’re frantically looking for it everywhere.

In this post, we’re going to tell you about email headers, how they can help you, and of course, where exactly you can find them.

What is an email header?

Emails contain three main elements: the message body, the envelope, and the message header. You probably already know what the body of an email refers to – the main text of the message. That’s where your design goes. Everything written in an email, from “Dear Professor Dumbledore” to “Sincerely Yours, Harry Potter,” is considered the body of the message. The message’s sender and recipient can both see this information.

The message envelope is something that neither the sender nor the recipient sees. The envelope is the information that the email program and outgoing server use to communicate and deliver the message to the correct email address. When the message writer hits send, this information is created before the email lands in the recipient’s inbox (hopefully not the spam folder).

Finally, the email header is a log of an email’s technical details that both the sender and recipient can see, though it can’t be as easily viewed as the email body. It contains details regarding the sender, receiver, and message. This includes any email addresses that are involved in the conversation, the servers the email passed through while being sent, and more.

Gmail email header

Email headers appear complicated, but they include valuable information for email professionals and SMB marketers.

What are email headers used for?

Email headers are typically used to see information, such as who sent and received a message, where the message passed through a mail server, and what kind of errors may have prevented the email from reaching its intended destination.

Let’s explore the multitude of ways email headers can be used.

Improving email deliverability

For email deliverability, headers can provide helpful information about positive or negative interactions with a message. They help identify any errors that may have impacted delivery. This data is invaluable to understanding why messages may be failing to reach the intended recipient and can provide clues on how to fix deliverability problems.

Checking for errors or changes

Email headers help you verify if the message was secure in transit and reached its recipient without errors or changes. If the message encountered a problem on the way to its destination or was never delivered at all, a tech-savvy user can review the header and figure out exactly what affected the message. Did Harry’s email go to Aberfoth Dumbledore, instead of Albus?

After identifying issues, the user can then fix problems that help new emails get where they need to go.

Protecting against spam and phishing

Email headers are a great way to verify the source of an email and can help protect against spam and phishing attacks. It is recommended to always inspect email headers to verify the sender’s address before responding to an email. Doing this can help ensure that messages are coming from trusted sources, and can warn users against responding to spoofing or malicious emails. No one wants to be duped!

Tracking an email’s route

Since the header contains the email’s routing information, you can view exactly which mail servers, ISPs, and email platforms the message has been through. This can help with tracking the originator of a message, as well as identifying any points where the email may have been tampered with. Knowing all the stops an email has gone through is especially helpful in cases of malicious activities.

Identifying the sender and receiver

Email headers can also be used to identify who sent an email as well as the recipient’s information. This is especially useful in understanding whether or not a message was actually sent from the sender in question, or if it was a third party attempting to impersonate the purported sender.

Due to their ability to quickly help solve many issues, headers are a valuable resource for organizations concerned with deliverability and the technical process of sending an email.

If you’re beginning an email marketing campaign, it’s important to correctly configure your delivery systems beforehand and send a few test emails. With the right tools in place, you will be able to give yourself a leg up in deliverability before your email even leaves your outbox.

Keep me posted! Subscribe to our newsletter to get great resources sent right to your inbox.

Check your inbox monthly for your Mailjet Newsletter!

Send me the Mailjet newsletter. I expressly agree to receive the newsletter and know that I can easily unsubscribe at any time.

What are the standard parts of an email header?

Email headers provide you with important information. The standard parts of an email header are below:

Data

Desc­rip­tion

From

This­ sect­ion refe­rs to the name­ and emai­l addr­ess of the send­er, whic­h is the orig­in of the emai­l.

To

This­ sect­ion refe­rs to the name­ and emai­l addr­ess of the reci­pient. If ther­e’s more­ than­ one reci­pient, the name­ and emai­l addr­ess of each­ will­ appe­ar in this­ sect­ion.

Date

This­ sect­ion refe­rs to the sent­ emai­l’s date­ and time­stamp.

Subject

This­ sect­ion refe­rs to the subj­ect line­ used­ in the emai­l mess­age.

Elsewhere in the header, you can also find the following:

Data

Desc­rip­tion

Return-Path

If an erro­r is foun­d whil­e the emai­l is bein­g sent­ or, for any reas­on, the emai­l cann­ot reac­h the inte­nded inbo­x, the mail­ is sent­ to the addr­ess spec­ified in this­ sect­ion. In this­ case­, it will­ gene­rally be sent­ back­ to the ­sender via the “re­turn path­” – spec­ified in the “fro­m” sect­ion.

Received

This­ sect­ion refe­rs to all of the mess­age’s reci­pients. For each­ succ­essful poin­t of rece­ipt, we can see the SMT­P serv­er IP addr­ess and the diff­erent auth­entication prot­ocols (SP­FDKIM-SignatureDMARC) that­ have­ (or have­ not)­ been­ vali­dated by the diff­erent serv­ers.

Message-ID

This­ sect­ion refe­rs to the uniq­ue iden­tifier of each­ spec­ific emai­l mess­age.

MIME-version

When­ pres­ent, MIME­-version (Mul­tipurpose Inte­rnet Mail­ Exte­nsions) refe­rs to prog­rams that­ supp­ort emai­l atta­chments outs­ide of the main­ mess­age, like­ stat­ic imag­es, and audi­o/video comp­onents.

Content-type

This­ sect­ion refe­rs to the diff­erent cont­ent type­s in each­ mess­age (tex­t, jpeg­, etc.­).

Precedence

Gmai­l asks­ that­ emai­l send­ers incl­ude Pre­cedence: Bulk­ in any head­er that­ is sent­ to mult­iple Subs­cribers. It’s­ opti­onal, but the idea­ is to prev­ent auto­responder loop­s as well­ as help­ Goog­le corr­ectly iden­tify bulk­ emai­l send­s.

How do you find an email header in your email client?

Almost all webmail providers contain email headers for each message. Below, you can see instructions for finding headers on popular email clients.

Email headers in Gmail

To find headers in Gmail, you:

  1. Click on the three dots in the top right corner of the email message
  2. Select “Show Original”
  3. This will show you the email header
Full email header in the Gmail email client

A few clicks is all you need to find email headers in Gmail.

Email headers in Microsoft Outlook (Hotmail) website and app

To find mail headers on the Microsoft Outlook web browser, you:

  1. Click the three dots in the upper right corner of the email
  2. Click “view message source” in the drop-down menu
  3. The full email header should then appear
Full email header on Microsoft Outlook

The popular Microsoft Outlook email client makes it easy to find email headers.

In the Microsoft Outlook app, you:

  1. Double-click the email to open it in a separate window.
  2. Then, right click “file” and “properties”.
  3. Then, you can see the header information in the “internet headers” section at the bottom of the screen.

Email headers in Yahoo Mail

To find email headers in Yahoo Mail:

  1. Open the message in the webmail client
  2. Click the “more” icon (three dots) above it.
  3. Then, right click “view raw message.”
  4. The mail header should then appear.
Full email header on Yahoo Mail

Quickly locate email headers with Yahoo Mail.

Email headers in Apple Mail

To find email headers in Apple Mail, you:

  1. Open the message and select the “view” option in the menu.
  2. Then, choose the “message” option
  3. Then, click on “All Headers”.
  4. This will display your message’s email header.
Full email header on the Apple Mail desktop application

Apple’s emphasis on transparency includes making headers easy to locate on the Apple Mail client.

Email headers in Mozilla Thunderbird

Viewing email headers in Thunderbird is straightforward as well:

  1. Simply open an email message
  2. Then click “View”, “Headers”, and “All”
  3. This will make the email header visible

Email headers in ProtonMail

To find headers in ProtonMail:

  1. Log in to your email ProtonMail account
  2. Then, open your email message
  3. Click the three-dot icon at the top of the message.
  4. Next, select “View headers.”
  5. The email headers will pop up in a new window.
Full email header using ProtonMail

How to find email headers in ProtonMail with just a few clicks.

Email headers in AOL Mail

To view the full headers for an email message in AOL Mail:

  1. Open an email message
  2. Then click, “More” in the top menu.
  3. Then select “View Message Source.”

Email headers in Zoho

To find email headers in Zoho mail:

  1. Open the email that you’d like to view
  2. Then click, the downward arrow for “More Actions” in the upper right corner.
  3. Next, click “Show Original”.
  4. This will still show only the major header details. To view the entire HTML source of the formatted email, click the “Show Full Content” option.
Full email header using Zoho CRM

Zoho has a number of options for viewing and downloading full email headers.

Email headers in GMX

To find email headers in GMX:

  1. Log in to your GMX account
  2. Open an email message
  3. Then, click the “information” icon, which is positioned in the top right corner of the message.
  4. A popup will appear that shows the “Extended Header Information”.
Full email header using GMX

It just takes two steps to find and view full email headers in GMX.

Email headers in Mail.com

To access the full email headers on Mail.com:

  1. Log in to your account
  2. Open an email message
  3. Then, click the information icon in the top right corner.
  4. A popup should appear that provides “Extended Header Information”.
Full email header using Mail.com

It just takes two steps to find and view full email headers in Mail.com.

Key things to remember about email headers

Email headers may seem unfamiliar to those who have never viewed them. However, they’re an important part of a good deliverability strategy.

You can use email headers to find outdetailed information about your emails’ journey and if they’re being properly delivered. Becoming familiar with them will help you launch successful email campaigns and view their results.

Keep me posted! Subscribe to our newsletter to get great resources sent right to your inbox.

Check your inbox monthly for your Mailjet Newsletter!

Send me the Mailjet newsletter. I expressly agree to receive the newsletter and know that I can easily unsubscribe at any time.

The post Email headers: What are they and how to read them appeared first on Mailjet: Email Delivery Service for Marketing & Developer Teams.

]]>
What is an SMTP relay and why do we use it? https://w3hy.com/blog/email-best-practices/what-is-an-smtp-relay/ Tue, 09 Sep 2025 12:21:22 +0000 https://w3hy.com/blog/what-is-an-smtp-relay/ All the information you ever needed on SMTP relay. Find out more about what an SMTP relay is and why it’s an efficient solution for your email sending needs.

The post What is an SMTP relay and why do we use it? appeared first on Mailjet: Email Delivery Service for Marketing & Developer Teams.

]]>
Emailing is hard. It might look easy at first – just write something smart, press ‘Send’ and wait, right? But mastering the channel’s ins and outs is not that simple. The world of email is full of complicated words like email deliverability or relay servers, confusing acronyms such as SMTP, MTA, or IMAP, and detailed metrics that need to be understood.

Setting up contact lists and creating your first newsletter are great starting points, but if you’re looking to take the next step in your understanding of email marketing, then you should take a closer look at SMTP relays.

SMTP stands for Simple Mail Transfer Protocol and is the backend system that helps you and your company send, receive, and relay messages between email senders and receivers. Let’s look at what an SMTP relay is and how it works.

What is an SMTP relay?

An SMTP relay is a protocol that allows email to be transmitted through the internet, from one SMTP server (commonly referred to as a “smart host”) to another. It was first created in 1982 and continues to be the internet standard widely used today.

An SMTP relay is an email relay service that works in two steps:

  • It receives the outgoing email from the sender’s SMTP server (that is, your amazing email campaign).
  • It delivers it to the recipient’s SMTP server.

Simple enough, right? To make things even clearer it might help to define some of the commons terms you’re likely to hear around SMTP relays:

SMTP­ term­inology

Defi­nit­ion

SMTP

SMTP­, or Simp­le Mail­ Tran­sfer Prot­ocol, is the lang­uage emai­l serv­ers use to send­ and rece­ive mess­ages. Thin­k of it as the post­al syst­em for the digi­tal worl­d, ensu­ring smoo­th deli­very of your­ elec­tronic lett­ers.

Open­ rela­y

An open­ rela­y is a mail­ serv­er that­ allo­ws anyo­ne on the inte­rnet to send­ emai­l thro­ugh it, rega­rdless of whet­her they­ are auth­orized user­s or not.­ This­ was once­ a comm­on conf­iguration, but it is now cons­idered a secu­rity risk­ as it can be easi­ly expl­oited by spam­mers and malw­are dist­ributors.

SMTP­ serv­er

An SMTP­ serv­er acts­ like­ the post­ offi­ce for emai­l, send­ing your­ mess­ages to thei­r dest­inations on the inte­rnet. Thin­k of it as the digi­tal mail­ truc­k that­ pick­s up your­ emai­l and deli­vers it to the reci­pient’s mail­box.

SMTP­ rela­y serv­ice

With­ an SMTP­ rela­y serv­ice, you’­re tapp­ing into­ a spec­ialized serv­ice prov­ider that­ hand­les all the heav­y lift­ing for you.­ They­’ve got the infr­astructure, the expe­rtise, and the expe­rience to ensu­re your­ emai­ls reac­h thei­r dest­ination reli­ably and secu­rely. It’s­ like­ havi­ng a team­ of prof­essional mail­ carr­iers at your­ beck­ and call­.

Smar­t host­

Smar­t host­ and SMTP­ rela­y are used­ inte­rchangeably. Howe­ver, the prim­ary diff­erence is secu­rity: smar­t host­s requ­ire SMTP­ auth­entication (SMT­P-auth) to rela­y emai­ls, wher­eas SMTP­ rela­y does­ not.­

How does the SMTP relay protocol work?

To better understand how an SMTP relay works, let’s imagine the journey that your normal snail mail may take to get to its destination:

Graphic representing the process of email delivery.

Email relay is the process of transmitting an email message from one server to another. In the picture above, the local post offices would be the SMTP servers and the email transfer that happens between them is what we call ‘relaying’.

So, for example, when you send out your latest campaign “Cute puppies looking for a foster home”, your company’s SMTP server relays your email to the recipient’s server.

But if you were to send that campaign to someone within your organization’s domain, there would be no ‘email relay,’ as your domain’s SMTP server wouldn’t need to transfer the email to a different SMTP server.

Why is SMTP relay important?

Despite all this talk of SMTP relays and servers, the question remains. How does the SMTP relay process impact my email marketing efforts?

Well, as an email marketer, understanding the SMTP relaying process and its role in bulk emailing is important for several reasons:

Widespread usage

SMTP is one of the most widely adopted protocols for email transmission (along with email APIs). Many senders use it to send and receive emails.

This makes SMTP crucial for ensuring your marketing emails reach their intended audience across various email providers, regardless of their location.

Email campaign performance

SMTP protocol allows email delivery and tracking platforms, such as Mailjet, to more accurately analyze the performance of email campaigns.

Monitoring SMTP response codes can provide insights into the success of your email deliveries, including delivery rates and open and click rates, and identify potential issues that need addressing.

Mailjet’s email bot detector in advanced statistics

Email bounce monitoring

When an email cannot be delivered to the recipient’s inbox for various reasons (an email address doesn’t exist, the mailbox is full, etc.), the receiving server sends a bounce notification back to the sender.

The SMTP protocol helps email delivery and tracking platforms manage these email bounce messages, allowing you to clean and maintain your email lists to improve deliverability and sender reputation.

SMTP authentication and security

SMTP authentication mechanisms, such as SMTP AUTH, enable you to add basic email authentication protocols such as SPF and DKIM. These help guard your campaigns from email spoofing, spam, and phishing attacks.

Additionally, SMTP uses TLS (Transport Layer Security) – the successor to SSL (Secure Socket Layer) – to encrypt communication between email servers, further enhancing the security of your email communications.

Keep me posted! Subscribe to our newsletter to get great resources sent right to your inbox.

Check your inbox monthly for your Mailjet Newsletter!

Send me the Mailjet newsletter. I expressly agree to receive the newsletter and know that I can easily unsubscribe at any time.

Sending through an SMTP server with an email service provider

So, what does this protocol look like when it comes to an email service provider like Mailjet? Getting the most out of your own SMTP relay server is not easy, so most businesses that need to send mass email to their customers (email marketing campaigns and transactional emails) use SMTP relay for ease of maintenance and added analytics insights.

Sending through an email service provider via an SMTP relay saves companies from having to run their own mail server. As you can see in the diagram below, the business or sender creates the email, and their server routes it through Mailjet’s SMTP server to prepare and send it out to recipients.

Graphic representing the SMTP relaying process

To combat spam, many webmail providers and email clients (i.e., Gmail, Microsoft Outlook, Yahoo, etc.) put a limit on how many emails you can send to different recipients per day. As businesses who need to communicate en mass with their audience would often exceed this limit, they will require the services of an enterprise level email sending platform – like Mailjet.

An SMTP relay provider can help businesses and organizations deliver large volumes of email without getting them mislabeled as spam or running up against small sending limits.

Email service providers (ESP) invest a lot of resources into building their own email infrastructure to handle large volumes and work closely with the major internet service providers (ISP) and webmail providers to improve email deliverability and deliver these emails straight to the recipient’s inbox.

Behind the scenes: SMTP server tracking

There’s an added layer of value to sending through an email service provider. With Mailjet, before our SMTP servers send an email, our system automatically adds link trackers to the body of your message. This then allows you, as the user, to properly track opens and clicks after an email has been received.

Mailjet also translates feedback from ISPs (Gmail, Yahoo, AOL, etc.), since each one communicates in its own way. Our service saves developers time by converting this into an easily identifiable response, displaying whether an email has been delivered or has bounced. These metrics make it easier for you to identify issues that might impact your email deliverability.

Want to know if a third-party SMTP relay service is the choice for your company? Learn more in our Email Infrastructure Handbook.

Choosing an SMTP relay port

Aha! Another tricky aspect of the email world. To understand what SMTP ports are and how they work, we need to take a step back and see what happens when computers communicate with each other on the internet.

Let’s say you are trying to reach mailjet.com. In this case, the Domain Name System (DNS) is converting this to the actual IP address that is hidden behind the name of the site. In Mailjet’s case, this is 104.199.110.216. You could remember 4-5 IPs like ours, but who can remember more, or really…who would want to?

An SMTP port is meant to be used for SMTP connections. Here are some of the SMTP ports you’ll find in use today: 

SMTP­ Port­

Use case­

PORT­ 25: The stan­dard port­

Use for non-­encrypted conn­ections. Still thou­ght of as the stan­dard SMTP­ port­, most­ resi­dential ISPs­ and host­ing prov­iders bloc­k port­ 25 due to heav­y spam­ traf­fic.

PORT­ 465:­ The TLS port­

Use if your­ appl­ication or comp­any requ­ire. Port 465 is a port­ that­ carr­ies out mess­age subm­ission over­ Impl­icit TLS prot­ocol.

PORT­ 587:­ The defa­ult port­

Use for your­ busi­ness or for secu­re conn­ections. Port­ 587 is the defa­ult SMTP­ port­, most­ busi­nesses use this­ port­.

PORT­ 2525­: The alte­rnate port­

Use as an alte­rnate if port­ 587 is bloc­ked. Most­ ESPs­ supp­ort port­ 2525­.

These few ports are the most used ones for these types of connection, and because of that they are almost always open, which means you should be able to reach your destination.

Choosing the right SMTP relay port to use is an important consideration when it comes to SMTP. So much so that we devoted an entire blog to this already. If you're trying to decide which port to use, be sure to read our article Which SMTP Port Should I Use? to see which one is best for you.

Wrapping up

Ultimately, SMTP relay makes our lives as marketers much simpler by handling all the heavy lifting in the backend so that we can spend more time crafting content and building out our contact lists.

So, if you’d like to improve your email placement, have greater insights in email performance, and get your emails straight into the inbox, take a look at our SMTP Server.

The post What is an SMTP relay and why do we use it? appeared first on Mailjet: Email Delivery Service for Marketing & Developer Teams.

]]>
Marketing calendar 2025: Dates you shouldn’t miss this year https://w3hy.com/blog/marketing/marketing-calendar/ Tue, 09 Sep 2025 12:15:37 +0000 https://w3hy.com/blog/marketing-calendar/ Want to get a head start on planning your 2025 marketing calendar? Check out our can't-miss dates and tips to engage with your consumers.

The post Marketing calendar 2025: Dates you shouldn’t miss this year appeared first on Mailjet: Email Delivery Service for Marketing & Developer Teams.

]]>
We finally got through 2024 (phew!) and Q1 is just around the corner. It’s time for you to start scribbling down your New Year’s Resolutions to make sure we start the year with a bang. If you’ve found your way here, we’re guessing that’s because creating a winning marketing strategy is probably one of your goals for 2025. Good for you – you’re in the right place!

To help you with that, we’ve decided to recap all relevant dates for 2025 in one blog post so you can strategize for the year ahead. Read on and find out which dates you should include in your marketing strategy and get our free 2025 Marketing Calendar. Time to get the diary out.

Why is it important to have a marketing calendar for 2025?

Some people think that implementing a marketing strategy is the longest part of the process. Well, they’re wrong. The implementation itself is actually one of the easier steps at the end of the process.

The real work comes before when you have to set goals and establish priorities. The earlier you start planning through every step of the strategy, the fewer problems you’ll run into down the line.

To do that in the best way possible, we’ve created a marketing calendar with all the key dates you’ll need to remember in 2025:

Mailjet's 2025 marketing calendar

Download the 2025 Marketing Calendar.

These last few years have shown us that unpredictable circumstances require brands to be able to adapt their communication strategies to engage with their target audience and make the most out of their marketing efforts.

Preparing your marketing strategy and marketing plan

Before you start, ask yourself these questions:

  • What do you want to achieve and how can you get there?
  • What are your unique selling points (USPs)? Why should people buy your products or services?
  • What sales promotions can you offer (special deals, freebies, discounts…)?
  • What distribution channels are best to achieve your goals?

Keep in mind that a year has so many special dates, holidays, and marketing moments – planning is a must in business and in life!

It is important to decide which promotions (like special deals or key product sales) you want to plan your marketing activities around. This decision should be based on the goals you established for yourself when you mapped out your marketing strategy. Focusing on the wrong promotional strategy can easily ruin your KPIs, and nobody wants that!

When thinking about your holiday or special day marketing campaigns, remember to plan out your promotions in different stages:

  • Before the actual date: Let your customers know about what’s coming ahead of time and how they can benefit.
  • During the day itself: Make your big sales push via email and leverage any social media buzz.
  • After the main event: Don’t forget to follow up with those that converted to obtain their feedback on the process or offer additional products or services.

Finding the right marketing channels

Once you have decided what the right marketing strategy is and what kind of sales promotions you’re going to offer, you’ll need to focus on getting your marketing messages out to your audience.

For marketing promotions around special dates, like the ones we’ve added to our 2025 Marketing Calendar, the best strategy is to go omnichannel. Marketing campaigns that combine different channels (for example, in-store, online, social media, sms marketing or email marketing) allow you to engage with your audience in a different way and also provide many upselling and cross-selling opportunities.

There is a range of channels for you to leverage, but that doesn’t mean you should try to use them all just to tick those boxes. While something like TikTok might be a bit of a stretch if you’re trying to sell dental implants, there are a few must-haves that will apply to most businesses.

Keep me posted! Subscribe to our newsletter to get great resources sent right to your inbox.

Check your inbox monthly for your Mailjet Newsletter!

Send me the Mailjet newsletter. I expressly agree to receive the newsletter and know that I can easily unsubscribe at any time.

One of those channels is email (yeah, you probably guessed that…). Email continues to be the best marketing channel for ROI at $35 and $40 for every $1 spent, as it allows you to personalize, segment, and optimize your email campaigns with detailed stats. Another big plus is that your marketing messages will stay in your contacts’ inboxes for them to use that promo code or find your store’s address when the time comes.

Use tools to organize your marketing calendar

No marketer can possibly remember every single date on the calendar. Use organizational and project management tools to free up that much needed headspace:

  • Use project management tools like Google Sheets or Excel to streamline your workflow by tracking the types of content required from the marketing team.
  • Remember your marketing goals and KPIs to ensure every campaign is providing value to the company. Track these metrics in your ESP’s campaign statistics dashboard.
  • Powerful tools like Asana have functionality to ensure you won’t miss any marketing milestones and allows you to collaborate with the entire team in real-time and organize your content marketing calendar.
  • Set reminders using simple calendar tools like Google calendar or the calendar view in Outlook to remind you to chase/collect docs, podcasts, webinars, etc for your campaigns.

To plan and schedule your email campaigns right on time, let’s have a closer look at 2025 dates to keep in mind.

Email content calendar.

A day in the life of an email marketer.

Key dates in the 2025 Marketing Calendar

Looking for a 2025 marketing calendar to guide your marketing strategy for the new year? We’ve got you covered. We’ve listed all the key dates below and paired them up with great resources to help you plan the best campaigns in 2025.

January

January is all about New Year’s resolutions, goal setting, and mourning the loss of the holiday season.

Start off by wishing your users a Happy New Year, and use this month to offer special deals on products or services that might come in handy when they start working on those New Year’s resolutions.

Other special dates in January include the traditional Winter Sales in European countries and Blue Monday, so think about what you can do to make your users’ days a bit warmer!

Dates you shouldn’t miss in January:

  • January 1st – New Year’s Day
  • January 12th – Australian Open
  • January 20th – Blue Monday
  • January 28th – Data Protection Day
  • January 28th – Chinese New Year
Resources to plan your January marketing campaigns:

February

The excitement of the new year might be gone for some, but February has its own share of special dates for marketers to celebrate!

In fact, February has three of the biggest moments of the year: Black History Month, Valentine’s Day, and the Super Bowl.

According to the National Retail Federation, US Valentine’s Day gift-givers spent an estimated $26 billion in 2024, and around $16.5 billion on food, decorations, and team apparel for the Super Bowl, with each person spending an average of $86.5.

Looking at these figures, February is definitely a month to keep in mind when it comes to planning your marketing efforts.

Dates you shouldn’t miss in February:

  • February 1st – Black History Month (US)
  • February 1st – LGBT History Month
  • February 2nd – Groundhog Day
  • February 4th – World Cancer Day
  • February 9th – Super Bowl
  • February 14th – Valentine’s Day
  • February 28th – Start of Ramadan

March

March is all about women, but it’s also a key period for the Islamic faith.

Starting March 1, we celebrate Women’s History Month with International Women’s Day taking place on March 8th. Use this opportunity to share stories from the women in your company and how you support equality in the workplace.

Ramadan marks the start of the most important dates in a Muslim’s calendar. With 1.9B followers worldwide, Muslims make up a quarter of the world’s population. Like any religious event, Ramadan is to be celebrated and respected.

Other special dates in March in our 2025 Marketing Calendar include World Wildlife Day, International Transgender Day of Visibility, and a fan-favorite… St. Patrick’s Day!

Dates you shouldn’t miss in March:

  • March 1st – Women’s History Month
  • March 3rd – World Wildlife Day
  • March 8th – International Women’s Day
  • March 13th – Mardi Gras
  • March 14th – National Pi Day
  • March 17th – St. Patrick’s Day
  • March 30th – End of Ramadan

April

With Easter starting in April this year, you can look forward to longer and warmer days for your easter egg hunts! Fun fact – Easter takes place on the first full moon after the spring equinox.

For some, Easter is all about tradition, be it religious or not. For others, it’s more about the chocolate rabbits and egg hunts. So why not hide an Easter Egg in your marketing campaigns to increase engagement this April?

Other special dates include Earth Day and April Fools’ Day, so it’s a great excuse to send a serious message about climate change or have some fun with your email marketing calendar.

Dates you shouldn’t miss in April:

  • April 1st – April Fools’ Day
  • April 7th – World Health Day
  • April 11th – National Pet Day
  • April 18th – Easter Friday
  • April 20th – Easter Sunday
  • April 21st – Easter Monday
  • April 22nd – Earth Day
  • April 23rd – World Book Day
Easter email campaign with decorated eggs

May

There are a few important dates in May, but is there any more important than Star Wars Day? Whether you’re a fan or not, there’s no denying that this is a BIG date on social media, so make sure you leverage it. May the 4th be with you.

Many countries also celebrate Mother’s Day in May. This is a time for many to show appreciation towards their mother(s) and mother figures. This day (and of course the other 364 days in the year) is perfect for lavishing mothers with lots of love, flowers, and chocolate. But be mindful, many people have lost their mothers or never had a mother to begin with – consider sending an optional opt-out to your subscribers before your Mother’s Day campaign.

Other special dates for May in our 2025 Marketing Calendar include the Eurovision Song Contest and May Day (International Workers’ Day).

Dates you shouldn’t miss in May:

  • May 4th – Star Wars Day
  • May 5th – May Day
  • May 5th – Cinco de Mayo
  • May 12th – Mother’s Day
  • May 13th – Eurovision Song Contest
  • May 25th – Roland-Garros (French Open)
  • May 26th – Memorial Day

June

It’s getting warmer and warmer outside, and that means it’s time for summer fun.

For many companies, the summer means a slump in sales. Instead of (online) shopping, events like vacations and other outdoor activities are in people’s minds. So, don’t be surprised if your marketing performance starts to decline rather than grow during the next few weeks.

Does this mean you should interrupt your email marketing campaigns? Absolutely not!

In fact, the summer might be the best time of year to stand out from your competitors and get in touch with your contacts. Make sure you start working on adjusting your email marketing strategy for the next couple of months.

June 1 also marks the start of Pride Month. Other important dates include Father’s Day (in the US and other countries) and the start of the Wimbledon tennis competition.

Dates you shouldn’t miss in June:

  • June 1st – Pride Month
  • June 5th – World Environment Day
  • June 15th – Father’s Day (US)
  • June 15th – FIFA Club World Cup
  • June 21st – Summer Solstice
  • June 21st – World Music Day
  • June 21st – National Selfie Day
  • June 30th – Wimbledon

July

The holiday season is finally here! And even though we warned you to plan ahead in June, you might be finding it quite challenging to keep your users engaged during the summer.

However, this summer comes packed with great sports events, including the Tour de France, the Wimbledon final and of course, the 2025 FIFA Club World Cup Final.

Other special dates in July include the Fourth of July (obviously!) and Emoji Day!

Dates you shouldn’t miss in July:

  • July 1st – Canada Day
  • July 4th – US Independence
  • July 5th – Tour de France
  • July 7th – World Chocolate Day
  • July 14th – Bastille Day – French National Holiday
  • July 17th – Emoji Day
  • July 31st – National Intern Day

August

August is generally a slow month in many countries. The summer is in full swing, but as the weeks pass, more and more people start coming home from their vacation. So, it’s the perfect time to target them with any offers or promotions they might’ve missed.

How do you do this effectively you ask? Well, with email segmentation, of course!

With email segmentation, you can filter contacts based on their past behavior (for example, anyone that hasn’t opened an email since a certain date) and resend them any special summer offers they might have missed.

Dates you shouldn’t miss in August:

  • August 1st – International Beer Day
  • August 13th – International Left handers Day
  • August 19th – World Photography Day
  • August 21st – World Senior Citizen’s Day
  • August 26th – Women’s Equality Day

September

September is here and it’s back-to-school season…and not just for kids!

In fact, September sometimes feels like a second January. Some might hate it, some might love it, but we all feel it. New goals, new projects, and new marketing opportunities. Children (and adults!) can’t wait to buy new school bags, pens, pencils, and planners for the new school year.

Keep that in mind and use your marketing plan calendar to create some campaigns to re-engage your customers after the summer with incentives like special promotions, sweepstakes, and exclusive offers.

And don’t forget to target people who left goods and services in their online cart.

Dates you shouldn’t miss in September:

  • September 1st – Labor Day (US)
  • September 15th – Start of Hispanic Heritage Month
  • September 20th – Oktoberfest
  • September 21st – International Day of Peace
  • September 25th – National Daughter’s Day

October

The scariest month of the year has finally arrived!

Autumn is officially here, and so is Halloween! This means that, offline as well as online, monsters and other creatures could be just around the corner, waiting to scare people.

For marketers, October marks the start of Q4 and the holiday season, a huge period for brands everywhere. With big dates coming up, it is the time to start planning what your holiday strategy will look like, and it is also the moment to let your creative juices flow and start getting festive.

Dates you shouldn’t miss in October:

  • October 1st – International Coffee Day
  • October 10th – World Mental Health Day
  • October 13th – Columbus Day
  • October 13th – Thanksgiving (Canada)
  • October 15th – End of Hispanic Heritage Month
  • October 16th – World Food Day
  • October 20th – Diwali
  • October 31st – Halloween
Black History Month email campaign with historic figures

November

November is the strongest time of the year for B2C sales, and it’s the official month for buying our holiday gifts. Immediately after Thanksgiving come dates like Black Friday, Small Business Saturday, and Cyber Monday, so it’s time to kick it into high gear.

In other words: You should definitely have these dates marked in red on your marketing calendar for 2025 so you can send special promotions and offers.

We know you won’t forget, but just in case, we’ve already marked them for you on our downloadable 2025 Marketing Calendar.

Dates you shouldn’t miss in November:

  • November 1st – World Vegan Day
  • November 11th – Veteran’s Day
  • November 20th – Transgender Day of Remembrance
  • November 23rd – National Espresso Day
  • November 27th – Thanksgiving
  • November 28th – Black Friday
  • November 29th – Small Business Saturday

PS: Have you checked out our new Black Friday and Cyber Monday email templates yet?

December

The best comes last: It’s finally Christmas!

It’s cold outside, the streets are covered with snow, and there are festive decorations and lights everywhere! While some prefer to go outside, those that stay in might do a lot of online shopping for those last-minute Christmas presents. This is your chance to give Q4 a final push with special holiday campaigns and offers.

But December is not just about selling – it’s also about joining in on the festive atmosphere and thanking your contacts for spending the year with you.

You can get creative and run a little Christmas competition on social media (best Christmas tree or craziest holiday decorations) where your customers can win coupons or goodies, or film your team singing Christmas carols for an original Merry Christmas newsletter.

As you can see, it doesn’t get more creative than December to end the year successfully.

Dates you shouldn’t miss in December:

  • December 1st – Cyber Monday
  • December 14th – Start of Hanukkah
  • December 22nd – End of Hanukkah
  • December 24th – Christmas Eve
  • December 25th – Christmas Day
  • December 26th – Boxing Day
  • December 31st – New Year’s Eve

How to build your own marketing calendar for 2025

Building an effective marketing calendar requires more than just plotting dates on a chart: It requires thoughtful consideration of long-term business objectives, your target audience, and different product releases. For some, the idea of pulling all that together can seem a little overwhelming.

So, we’ve decided to help out and outline the key steps you need to follow below:

  1. Timeline: First off, you need to decide how long you want to plan for. Typically, a year gives you a holistic overview of the key campaigns and promotions of your business.
  2. Software: Which software will you use to program your calendar? It needs to be something simple, easy-to-use, and collaborative across the entire organization for better cross-team alignment.
  3. Goals: Whether it’s increasing brand awareness, driving sales, or launching a new product, having well-defined goals will shape your marketing calendar.
  4. Channels: You need to define which channels you’ll be leveraging across the team for each campaign and marketing action.
  5. Team members: Consider which team members are going to be involved in executing those campaigns.
  6. Content: Outline the themes, topics, and types of content you’ll be creating for each campaign. This includes blog posts, social media content, email newsletters, etc. Our 2025 Marketing Calendar is a great starting point for planning those campaigns.
  7. Flexibility: While it’s important to plan ahead, make sure you leave room for flexibility. Markets can change, unexpected opportunities may arise, and adjustments might be necessary.

Creating a marketing calendar for the new year is a great way to work ahead and get aligned over the campaigns you want to run in 2025.

Download the 2025 Marketing Calendar

We’ve saved the dates you can’t forget and given you all the resources you need to make 2024 your best marketing year yet. Now, it’s up to you to work on your campaigns and increase engagement with offers, promotions, or competitions.

Want to take the 2025 Marketing Calendar with you?

This is an updated version of the article “Marketing Calendar 2022: Dates you shouldn’t miss this year“ and published on the Mailjet blog on October 31, 2022.

The post Marketing calendar 2025: Dates you shouldn’t miss this year appeared first on Mailjet: Email Delivery Service for Marketing & Developer Teams.

]]>
BFCM email marketing: What consumers want in 2025 https://w3hy.com/blog/marketing/promote-black-friday/ Thu, 04 Sep 2025 12:09:11 +0000 https://w3hy.com/blog/promote-black-friday/ What’s your BFCM marketing strategy? Check out our infographic featuring new research. Find out what consumers prefer when it’s time to promote your holiday deals.

The post BFCM email marketing: What consumers want in 2025 appeared first on Mailjet: Email Delivery Service for Marketing & Developer Teams.

]]>
‘Tis the season for holiday promotions. Inboxes, mailboxes, social media feeds, and TV screens are filling up with marketing messages as brands look to capitalize on the busiest time of the year for many retailers.

So, are you giving those shoppers what they want and expect? How important is email marketing when it comes to Black Friday, Cyber Monday (BFCM), and the broader holiday shopping season?

We conducted an international email engagement survey that included questions on consumer preferences for Black Friday and Cyber Monday. Let’s find out how those insights can inform your holiday marketing strategy.

Consumer opinions on BFCM marketing

Our survey included consumers of all ages from the U.S., UK, France, Germany, and Spain. We’ve compiled key results into an infographic you can check out below. 

Here are some important takeaways on how to promote Black Friday: 

  • Almost two-thirds of consumers (56.5%) prefer the email inbox for Black Friday promotions.
  • Consumers are eager to learn about BFCM sales:
    • 18.6% want to know about Black Friday promotions sooner than a month before.
    • Another 37.3% are open to Black Friday and Cyber Monday promotions as early as a month before they start.
  • A significant majority of consumers (93%) consider transactional messages to be important during the holiday season.

A significant majority of consumers (93%) consider transactional messages to be important during the holiday season.

An infographic displaying consumer preferences around Black Friday and Cyber Monday

What marketing channels do holiday shoppers prefer?

We’re not going to lie – it’s pretty cool to see email top the list of preferred channels for Black Friday and Cyber Monday promotions. Almost 60% of consumers selected the email inbox as one of the places they want to hear about holiday deals. 

This means email marketing should be an indispensable part of your strategy for the holidays. However, it certainly does not mean email is the only channel that matters. 

Along with traditional channels such as the Website (42.9%) and Social media ads (41.9%), consumers also selected Facebook messenger (17.6%), Text messaging (22.9%) and WhatsApp (24.8%). This goes to show how important an omnichannel marketing approach to the BFCM and holiday season is if you want to maximize the reach of your campaigns.

68.9% of consumers in the U.S., UK, and the largest EU nations say email is a preferred channel for promotional messages about Black Friday and Cyber Monday deals.

The inbox is a place where consumers have grown to expect to get marketing messages from brands. Black Friday and Cyber Monday email marketing campaigns deliver a rich experience with branding and eye-catching visuals that aren’t possible with basic SMS texts. 

So, if consumers want and expect emails from brands during holiday shopping, you’ve got to make sure you get the most out of your email marketing strategy. That includes maximizing email performance with engaging content and design. But you also need to make sure those engaging emails actually make it to the inbox, which means following deliverability best practices – from prepping your email list before the holiday season to embracing the benefits of the Gmail Promotions tab to highlight the deals you’re offering.

Promotion tab on a mobile phone screen
Consumers are looking for promotions in their inboxes this time of year, it’s a good time to think about how you’re taking advantage of the Gmail Promotions tab.

Consumers are looking for promotions in their inboxes this time of year, it’s a good time to think about how you’re taking advantage of the Gmail Promotions tab.

These days, we use email much less often for personal communications. On the other hand, lots of personal conversations take place with texting. So, consumers may not view texts as a familiar way to receive promotions. But that’s changing… 

47% of consumers say they would be likely to engage with an interactive holiday shopping promotion sent to their messaging app, with a further 61.9% selecting at least one mobile messaging option as a preferred channel to receive promotions. 

MMS (Multimedia Messaging Services) and RCS (Rich Communication Services) are bringing a much more engaging experience to consumers. As cutting-edge brands make these methods part of their marketing strategy, consumers are bound to respond positively. 

In some cases, RCS holiday campaigns could provide an experience that’s just as engaging as a highly interactive email. These kinds of campaigns are also more conversational than the typical marketing email. Recipients can ask questions and get immediate answers. Check out the RCS example below from Sinch

Example of a promotional RCS campaign with interactive gamification.

Know your customers’ preferences

With so many ways for brands and consumers to connect, it’s likely that your customers are open to hearing from you on a variety of communication channels. Are you letting them choose?

The best holiday communication strategy is one that reaches your customers wherever they are, on whatever channel they want. That’s why many brands are moving towards an omnichannel experience that guides people along a complete customer journey.

Your customers’ communication preferences will differ from person to person. The more options you can offer, the better. It’s also smart to consider different demographics. Here are a few examples from our survey that can help you decide how to promote Black Friday deals:

  • At 33.9%, consumers in France were more likely than other regions to select Text messaging as a preferred channel for BFCM promotions. 
  • At 24.9%, consumers in Spain were twice as likely to select Push/In-app notifications than average. 
  • Those who identify as women were around 5% more likely than men to select Text messaging
  • The younger the age group, the more likely a respondent was to select Social media as a preferred channel for learning about Black Friday promotions.

Make mobile marketing a priority

Our phones connect us to just about everything. That’s why an undeniable trend in retail is the rise of shopping on mobile devices. Whether it’s a push notification from an application, a text, or an email, all these messages show up as notifications on smartphones. 

Data from Adobe Analytics over the 2024 holiday season (November 1 – December 31) showed that mobile revenue share hit a record of 54.5% of online shopping. Mobile shopping hit its peak on Christmas Day driving 65% of online sales, totaling $241.5 billion.  

That’s a mind-boggling figure, meaning for email senders it’s extremely important to have responsive email marketing campaigns that adapt to various screen sizes. Our Inbox Insights  report found that responsive emails top the list of the biggest design and development challenges. Get some advice from email marketing and deliverability expert,Megan Boshuyzen, on taking a mobile-first approach to email development.

The Mailjet platform is an excellent tool for designing mobile-friendly emails. Check out a demo for our Email Editor, or find out how to use MJML, a responsive email framework that’s easy to learn.

When’s the right time to start promoting BFCM deals?

It’s common to hear people complain about how it’s too early for holiday items to show up on store shelves and holiday advertisements to start airing. But our survey reveals that, for many consumers, the sooner Black Friday promotions arrive the better. 

As soon as possible: That’s when more than one-third of shoppers say they want to start hearing about BFCM deals. Another 37.3% of survey respondents want to know about Black Friday deals as early as a month in advance. 

Only 4.4% of consumers want to wait until the day before a sale to hear about a big holiday promotion. This suggests that most shoppers are trying to make plans to get their shopping done on time and get a great deal that fits into their holiday budgets. 

Here’s how to apply this finding to your email marketing strategy: There’s a good chance that your most engaged subscribers are also the people who want to know about your holiday deals ASAP. You can segment these contacts and send campaigns to them earlier and more often. 

If you’re planning out a marketing calendar for next year, keep the date that falls one month before Black Friday in mind. That would be about a week before Halloween (October 24th in 2025). This could be the perfect time for a “Deal Reveal Day” that gives your customers a preview of what’s to come.

Transactional messages and the holiday shopping experience

Let’s not forget that email serves purposes beyond delivering promotions and marketing messages. Transactional emails are an extremely important part of the customer experience, especially during holiday shopping. 

The consumers we surveyed definitely agree. Results show more than 93% of people view transactional messages during the holidays as either somewhat or very important.  

It’s no secret why that’s the case. Getting packages delivered on time is definitely necessary when Christmas, Hannukah, and Kwanza are right around the corner. Plus, people need a way to keep track of everything they’ve ordered as well as how much they’re spending. 

Order confirmations are digital receipts that contain information shoppers may need. Shipping updates keep customers informed about potential delays and allow them to make backup plans if needed. 

Holiday email deliverability is yet another key consideration. If transactional emails go missing or land in spam, your customers will get frustrated and lose trust in your brand. Transactional messages are vital to the customer experience. That’s one reason why 40% of senders who prioritize deliverability told Sinch Mailgun that Improved customer satisfaction was the biggest benefit of achieving inbox placement.

Chart listing the benefits of prioritizing email deliverability

Of course, email isn’t the only channel that works well for transactional messages. Nearly everyone with a smartphone has received a transactional SMS at this point. Transactional text messages arrive quickly and have high open rates. Offering your customers the option of transactional messages via email and SMS is a good first step towards a more diverse communication strategy.

Reliable transactional messages support the customer experience. 93% of consumers say they are either somewhat or very important during the holidays.

Get more email marketing advice for the holidays

Our gift to you this holiday season is a collection of other articles and advice to help you achieve success. Here are some resources for you to explore:

And if you need a little light reading to relieve the stress of holiday marketing, we’ve got just the thing to jingle your bells. Discover how email could have saved Christmas in some classic holiday films.

Want to get even more insights into how your customers engage with emails? Watch for more eye-opening survey results from Sinch Mailjet when we release “The path to email engagement 2024”, coming soon.

The post BFCM email marketing: What consumers want in 2025 appeared first on Mailjet: Email Delivery Service for Marketing & Developer Teams.

]]>
What is a webhook? Real-time email event tracking with Mailjet https://w3hy.com/blog/email-best-practices/what-is-webhook/ Fri, 29 Aug 2025 16:39:57 +0000 https://w3hy.com/blog/what-is-webhook/ Find out what exactly and why you need it. Tracking events is easy using webhooks, this is why Mailjet offers you the possibility to use them with us.

The post What is a webhook? Real-time email event tracking with Mailjet appeared first on Mailjet: Email Delivery Service for Marketing & Developer Teams.

]]>
Webhooks are a powerful way to receive real-time notifications when events occur in your email campaigns. This comprehensive guide will teach you what webhooks are, how they work with email systems, and how to implement Mailjet’s webhook functionality to track email events like opens, clicks, bounces, and more in real time.

By the end of this guide, you’ll understand how to set up and optimize webhook endpoints, handle different event types, and implement best practices for reliable, scalable email event processing.

What is a Webhook?

A webhook is a simple way for one system to notify another that “something just happened.” It’s an HTTP POST request sent to a URL you provide (your “webhook endpoint”) containing a JSON payload that describes the event. Unlike APIs that you poll on a schedule, webhooks are event-driven as they push data only when there’s something new to report.

Think of webhooks as the internet’s version of a phone call: instead of repeatedly checking if something happened, the system calls you immediately when it does.

Why teams use webhooks

Webhooks offer several advantages for email marketing and transactional email workflows:

  • Real-time notifications: Update your application the moment an email is opened or a link is clicked
  • Faster support and operations: Trigger alerts when bounce or block rates spike
  • Cleaner data management: Auto-sync unsubscribes and hard bounces to your CRM
  • Enhanced personalization: Send follow-up messages when customers engage (or don’t)
  • Better analytics: Stream events into your dashboards or data warehouse

Webhook vs API polling

Understanding the difference between webhooks and traditional email API polling helps illustrate why webhooks are often the better choice:

API pollingWebhooks
Pull data on a timer, even if nothing changedEvent-based push notifications
More requests and bandwidth usageFewer requests, more efficient
Delayed insights due to polling intervalsInstant updates when events occur
Complex scheduling and state managementSimpler automation workflows

How Mailjet email webhooks work

Mailjet can send webhook notifications for the following email events:

  • sent: Email was successfully sent
  • open: Recipient opened the email
  • click: Recipient clicked a link in the email
  • bounce: Email bounced (soft or hard)
  • blocked: Email was blocked by the recipient’s server
  • spam: Email was marked as spam
  • unsub: Recipient unsubscribed

Understanding webhook payloads

Each webhook contains a JSON payload with event-specific information. Here are examples of common event types:

Open event payload

                            

                                {
  "event": "open",
  "time": 1433103519,
  "MessageID": 19421777396190490,
  "email": "api@mailjet.com",
  "mj_campaign_id": 7173,
  "mj_contact_id": 320,
  "customcampaign": "",
  "CustomID": "helloworld",
  "Payload": "",
  "ip": "127.0.0.1",
  "geo": "US",
  "agent": "Mozilla/5.0 ..."
}
                            
                        

Bounce event payload

                            

                                {
  "event": "bounce",
  "time": 1430812195,
  "MessageID": 13792286917004336,
  "email": "bounce@mailjet.com",
  "blocked": true,
  "hard_bounce": true,
  "error_related_to": "recipient",
  "error": "user unknown"
}

                            
                        

Processing different event types

Each event type requires different handling strategies:

  • Unsubscribed/spam: Immediately suppress the contact across all systems
  • Hard bounce: Remove from mailing lists and stop future sends
  • Blocked: Inspect error details and provider information to diagnose deliverability issues
  • Click/open: Trigger follow-up campaigns, score engagement, and personalize customer journeys

Mailjet webhook best practices

Following these best practices ensures reliable webhook processing and optimal performance:

Response handling

  • Return HTTP 200 OK immediately: Acknowledge receipt as quickly as possible
  • Process asynchronously: Persist the payload to a queue or database, then process it separately

Reliability and security

  • Use HTTPS: Host your endpoint on a secure connection
  • Implement authentication: Protect your endpoint with basic auth or API keys
  • Monitor failures: Track non-200 responses to prevent URL suspension

Performance optimization

  • Minimize processing time: Do minimal work in the request handler to avoid timeouts
  • Use event grouping: Configure Version=2 to batch multiple events in single requests
  • Set up backup URLs: Configure failover endpoints to maintain event flow during outages

Retry behavior

Mailjet automatically retries failed webhook deliveries for up to 24 hours if your endpoint doesn’t return a 200 OK response. If repeated errors persist, the webhook URL may be suspended. You can configure a backup URL to ensure continuous event delivery.

Setting up Mailjet webhooks

You can configure Mailjet webhooks using either the API or the web interface. Here are both approaches:

Option A: API Setup (Recommended for developers)

This method offers more control and is ideal for automated deployments.

Step 1: Choose your event types

Decide which events you want to track: sent, open, click, bounce, blocked, spam, or unsub.

Step 2: Create the Webhook via API

Use the eventcallbackurl resource to configure your webhook:

                            

                                curl -X POST \
  https://api.mailjet.com/v3/REST/eventcallbackurl \
  -H 'Authorization: Basic <base64_encoded_api_key:secret>' \
  -H 'Content-Type: application/json' \
  -d '{
    "EventType": "open",
    "Url": "https://example.com/webhooks/mailjet/open",
    "Version": 2
  }'

                            
                        

Configuration notes:

  • Version=2 enables grouped events in a single POST request
  • Set “isBackup”: true on a secondary URL to create a failover endpoint

Step 3: Test your integration

Send a test email and perform the tracked action (open, click, etc.) to verify you receive webhook events.

Option B: Web interface setup (no-code option)

For teams preferring a visual interface:

  1. Log in to app.mailjet.com and navigate to Account Settings
  2. Under REST API, select “Event notifications (webhooks)”
  3. Add one URL for all events or define dedicated URLs per event type
  4. Test with real events rather than the “Send test” feature, which posts empty payloads

Webhook implementation examples

Here are minimal webhook receiver implementations in popular programming languages:

Node.js with express

                            

                                const express = require('express');
const app = express();

app.use(express.json());

app.post('/webhooks/mailjet/open', (req, res) => {
  // 1. Persist the event data quickly
  console.log('Received webhook:', req.body);
  // TODO: Save to queue or database
  // await saveToQueue(req.body);

  // 2. Acknowledge immediately
  res.status(200).send('ok');
});

app.listen(3000, () => {
  console.log('Webhook server running on port 3000');
});

                            
                        

Python with flask

                            

                                from flask import Flask, request, jsonify

app = Flask(__name__)

@app.route('/webhooks/mailjet/open', methods=['POST'])
def handle_open_event():
    data = request.get_json()

    # Process the webhook data
    print(f"Received webhook: {data}")
    # TODO: Save to queue or database
    # save_to_queue(data)

    return jsonify({"status": "ok"}), 200

if __name__ == '__main__':
    app.run(port=3000)
                            
                        

Advanced configuration tips

Here are some tips to help you get even more from webhooks.

Batch processing at scale

Use Version=2 in your webhook configuration to reduce HTTP overhead by receiving multiple events in batched requests:

                            

                                {
  "EventType": "open",
  "Url": "https://example.com/webhooks/mailjet/batch",
  "Version": 2
}
                            
                        

Event correlation and tracking

Use CustomID and EventPayload parameters in your Send API calls to make webhook events easier to correlate with your internal systems:

                            

                                {
  "Messages": [{
    "To": [{"Email": "user@example.com"}],
    "Subject": "Welcome!",
    "TextPart": "Welcome to our service!",
    "CustomID": "user-123-welcome",
    "EventPayload": "campaign=onboarding&segment=new_users"
  }]
}

                            
                        

Enterprise-scale event streaming

For high-volume applications, consider streaming events to third-party queue services:

  • Azure Service Bus
  • Amazon SQS
  • Google Cloud Pub/Sub

Frequently asked questions

What events does Mailjet send to webhooks?

Mailjet sends sent, open, click, bounce, blocked, spam, and unsub events. Each contains the MessageID, contact and campaign identifiers, and event-specific details (such as url for click events).

How fast are events delivered?

Events are pushed shortly after they occur, typically within seconds. If your endpoint doesn’t respond with HTTP 200 OK, Mailjet retries delivery for up to 24 hours.

Can I reduce the number of webhook calls?

Yes. Configure grouped delivery by setting Version=2 on your eventcallbackurl so Mailjet batches multiple events in one POST request.

How do I secure my webhook endpoint?

Use HTTPS, protect the endpoint with basic authentication, and restrict access through IP filtering or API gateways. Always process payloads server-side and never expose webhook endpoints to client applications.

Quick setup checklist

Follow this checklist to implement Mailjet webhooks successfully:

  • [ ] Create and secure a public HTTPS endpoint
  • [ ] Configure eventcallbackurl via API or web interface
  • [ ] Implement quick HTTP 200 OK responses with asynchronous processing
  • [ ] Add CustomID and EventPayload to your email sends for easier correlation
  • [ ] Monitor webhook failures and configure backup URLs
  • [ ] Set up event streaming to your analytics or alerting systems

Next steps and additional resources

Now that you understand webhook fundamentals and implementation, consider exploring these related Mailjet features:

Summary

Webhooks provide a powerful, efficient way to receive real-time notifications about email events. By implementing Mailjet webhooks with proper error handling, security measures, and asynchronous processing, you can build responsive, data-driven email workflows that enhance customer experience and improve operational efficiency.

Remember to start simple, monitor your implementation closely, and scale your webhook processing as your email volume grows. With the foundation provided in this guide, you’re ready to harness the full power of real-time email event tracking.

The post What is a webhook? Real-time email event tracking with Mailjet appeared first on Mailjet: Email Delivery Service for Marketing & Developer Teams.

]]>
How to code an email receipt template with MJML and Mailjet’s templating language https://w3hy.com/blog/development/templating-language-tutorials-receipt-email/ Fri, 29 Aug 2025 16:00:02 +0000 https://w3hy.com/blog/templating-language-tutorials-receipt-email/ Learn how to code an e-receipt or email receipt template with MJML and templating language in this step by step tutorial, with code samples and examples.

The post How to code an email receipt template with MJML and Mailjet’s templating language appeared first on Mailjet: Email Delivery Service for Marketing & Developer Teams.

]]>
Building production-ready email receipts can be challenging, especially when you need to handle multiple scenarios like guest vs. logged-in customers, different shipping methods, discounts, and multi-currency support. This comprehensive guide will show you how to create a responsive, dynamic email receipt template using MJML for layout and Mailjet’s templating language for email personalization.

By the end of this tutorial, you’ll have a fully functional receipt template that can handle complex order data, attach PDF invoices, and deliver reliably through Mailjet’s Send API v3.1.

Why use templates with templating language?

Before diving into the implementation, let’s understand why this approach is superior to creating one-off HTML emails:

  • Fewer templates to maintain: One “smart” receipt template can handle multiple scenarios (guest vs. logged-in users, shipping vs. pickup, discounts, multi-currency)
  • Server-side personalization: Inject dynamic data using {{var:*}} or {{data:*}} variables and control rendering with conditions and loops
  • Faster integration: Store the template once, then trigger it with a single API call per order

What you’ll build

Your final email receipt template will include:

  • Responsive MJML layout that works across all email clients
  • Dynamic line item loops for order details
  • Tax, discount, and total calculations
  • Conditional shipping information display
  • Localized text and currency formatting
  • Optional PDF invoice attachments
  • Reliable delivery through Mailjet’s Send API v3.1 with event tracking

Prerequisites

Before starting, ensure you have:

  • Created a Mailjet account with a validated sender domain (set up SPF/DKIM for optimal deliverability)
  • An MJML workflow (CLI or editor) to compile MJML to HTML
  • Mailjet API credentials (API key and secret for HTTP Basic Auth)
  • Optional: A webhook endpoint to receive delivery events (sent, open, click, bounce, etc.)

Step 1: Structure the receipt with MJML

Let’s start by creating the basic structure of our receipt template using MJML. This will ensure our email is responsive and renders consistently across different email clients.

                            

                                <mjml>
  <mj-head>
    <mj-title>Your receipt</mj-title>
    <mj-attributes>
      <mj-text font-family="Montserrat, Arial, sans-serif" />
      <mj-class name="muted" color="#6b7280" font-size="13px" />
      <mj-class name="total" font-weight="700" font-size="16px" />
    </mj-attributes>
  </mj-head>
  <mj-body background-color="#f6f7fb">
    <mj-section background-color="#ffffff" padding="24px">
      <mj-column>
        <mj-image width="120px" src="https://yourcdn.com/logo.png" alt="Brand" />
        <mj-text font-size="20px" font-weight="700">Thanks for your purchase!</mj-text>
        <mj-text css-class="muted">
          Order {{var:order_id}} • {{var:order_date}} • {{var:currency}}
        </mj-text>

        <!-- Shipping notice (rendered conditionally in Step 2) -->
        <mj-text css-class="muted">
          Delivery to: {{var:shipping.name}}, {{var:shipping.address1}}, {{var:shipping.city}}
        </mj-text>

        <mj-divider border-color="#e5e7eb" />

        <!-- Line items table (rendered via loop in Step 2) -->
        <mj-table>
          <tr style="text-align:left;">
            <th style="padding:8px 0;">Item</th>
            <th style="padding:8px 0;">Qty</th>
            <th style="padding:8px 0; text-align:right;">Price</th>
          </tr>
          <!-- row loop here -->
        </mj-table>

        <mj-divider border-color="#e5e7eb" />

        <mj-text>
          Subtotal <span style="float:right;">{{var:money.subtotal}}</span>
        </mj-text>
        <mj-text>
          Tax <span style="float:right;">{{var:money.tax}}</span>
        </mj-text>
        {{var:money.discount_row}} <!-- optional discount row via condition -->
        <mj-text css-class="total">
          Total <span style="float:right;">{{var:money.total}}</span>
        </mj-text>

        <mj-divider border-color="#e5e7eb" />
        <mj-text css-class="muted">
          Paid with {{var:payment.brand}} ending {{var:payment.last4}}. Need a PDF? It's attached.
        </mj-text>
        <mj-text css-class="muted">
          Questions? Reply to this email or visit your order page: {{var:order_url}}
        </mj-text>
      </mj-column>
    </mj-section>

    <mj-section>
      <mj-column>
        <mj-text css-class="muted" align="center">
          © {{var:year}} Your Company • {{var:support_email}}
        </mj-text>
      </mj-column>
    </mj-section>
  </mj-body>
</mjml>

                            
                        

Important Notes:

  • Keep currency formatting on the server-side and pass ready-to-render strings (money.*) to avoid locale inconsistencies
  • MJML compiles to responsive HTML that works across major email clients

Step 2: Add Mailjet templating tags

Now we’ll enhance our template with Mailjet’s templating language to handle dynamic content. This includes variables, conditions, and loops that will be processed when the email is sent.

Variable types

Mailjet’s templating language supports several variable types:

  • Order variables: {{var:order_id}}, {{var:currency}}, {{var:payment.brand}}
  • Contact data: {{data:firstname:”Customer”}} (with fallback values)
  • Conditions: {% if var:has_shipping %} … {% endif %}
  • Loops: {% for item in var:items %} … {% endfor %}

Adding dynamic line items

Insert this code inside your MJML table to loop through order items:

                            

                                {% for item in var:items %}
<tr>
  <td style="padding:6px 0;">{{item.name}}</td>
  <td style="padding:6px 0;">{{item.qty}}</td>
  <td style="padding:6px 0; text-align:right;">{{item.price}}</td>
</tr>
{% endfor %}

                            
                        

Conditional shipping information

Add conditional blocks to show shipping details only when relevant:

                            

                                {% if var:has_shipping %}
<mj-text css-class="muted">
  Delivery to: {{var:shipping.name}}, {{var:shipping.address1}}, {{var:shipping.city}}
</mj-text>
{% endif %}
                            
                        

Step 3: Save the HTML as a reusable template

Once you’ve compiled your MJML to HTML and added templating tags, you need to save it as a template in Mailjet. You have two options:

Option A: Using the Mailjet dashboard

Paste your compiled HTML into a new template in the Mailjet app (Passport).

Option B: Using the template API

Create a new template:

                            

                                curl -s -X POST \
  --user "$MJ_APIKEY_PUBLIC:$MJ_APIKEY_PRIVATE" \
  https://api.mailjet.com/v3/REST/template \
  -H 'Content-Type: application/json' \
  -d '{
    "Name":"Receipt v1",
    "OwnerType":"user",
    "IsTextPartGenerationEnabled":"true",
    "Locale":"en_US"
  }'

                            
                        

Add your HTML content to the template:

                            

                                curl -s -X POST \
  --user "$MJ_APIKEY_PUBLIC:$MJ_APIKEY_PRIVATE" \
  https://api.mailjet.com/v3/REST/template/TEMPLATE_ID/detailcontent \
  -H 'Content-Type: application/json' \
  -d '{
    "Html-part":"<html>...your compiled MJML with templating tags...</html>",
    "Text-part":"Your plain text fallback"
  }'
                            
                        

Step 4: Send the receipt with Send API v3.1

Now comes the exciting part – sending your dynamic receipt email. Here’s a complete example that includes template variables, PDF attachment, and proper configuration:

                            

                                curl -s -X POST \
  --user "$MJ_APIKEY_PUBLIC:$MJ_APIKEY_PRIVATE" \
  https://api.mailjet.com/v3.1/send \
  -H 'Content-Type: application/json' \
  -d '{
    "Messages":[
      {
        "From":{"Email":"billing@yourbrand.com","Name":"Your Brand Billing"},
        "To":[{"Email":"customer@example.com","Name":"{{data:firstname:\"Customer\"}}"}],
        "TemplateID": TEMPLATE_ID,
        "TemplateLanguage": true,
        "Subject": "Your receipt {{var:order_id}}",
        "Variables": {
          "order_id": "ORD-98765",
          "order_date": "2025-08-27",
          "currency": "USD",
          "items": [
            {"name":"Sneakers","qty":1,"price":"$99.00"},
            {"name":"Socks","qty":2,"price":"$10.00"}
          ],
          "money":{"subtotal":"$119.00","tax":"$9.52","discount":"$0.00","total":"$128.52"},
          "has_shipping": true,
          "shipping":{"name":"A. Smith","address1":"10 Market St","city":"Austin"},
          "payment":{"brand":"Visa","last4":"4242"},
          "order_url":"https://yourapp.com/orders/ORD-98765",
          "support_email":"support@yourbrand.com",
          "year":"2025"
        },
        "Attachments":[
          {
            "ContentType":"application/pdf",
            "Filename":"Invoice-ORD-98765.pdf",
            "Base64Content":"<base64-encoded-pdf>"
          }
        ]
      }
    ]
  }'

                            
                        

Useful send options

  • Globals: Avoid repetition across bulk sends (From, Subject, headers)
  • SandboxMode: Set to true to validate payload without sending
  • CustomID: Use “order-ORD-98765” to correlate events
  • URLTags: Add “utm_source=receipt&utm_medium=email” for tracking

URLTags: Add “utm_source=receipt&utm_medium=email” for tracking

Step 5: Verify delivery and track events

Monitoring your email delivery is crucial for maintaining customer trust and debugging issues.

Setting up webhooks

Register your webhook endpoint to receive real-time events:

  • Sent, delivered, opened, clicked
  • Bounced, spam complaints, blocked
  • Unsubscribed

Checking message status

  • Message info: GET /v3/REST/message/{Message_ID} for metadata
  • Event timeline: GET /v3/REST/messagehistory/{Message_ID} for detailed events
  • Statistics: Use /v3/REST/statcounters for aggregated delivery metrics

Step 6: Internationalization and currency

For global businesses, proper localization is essential:

  • Currency formatting: Format amounts server-side for the recipient’s locale and pass ready-to-render strings in Variables (e.g., money.total = “129,90 €”)
  • Fallback text: Use {{data:firstname:”Client”}} for language-aware fallbacks
  • Multi-language templates: Either maintain one template with conditional blocks ({% if var:locale == “fr” %}…{% endif %}) or create separate templates per locale

Step 7: Deliverability and compliance

Ensure your receipts reach the inbox and comply with regulations:

Technical setup

  • Verify your domain and configure SPF/DKIM records
  • Send from your verified domain for best reputation
  • Keep templates lightweight with compressed images and minimal external fonts
  • Always provide a plain text version

Security and privacy

  • Never include full payment card numbers – use last 4 digits and brand only
  • Secure PDF attachments and minimize PII
  • Respect unsubscribe preferences for any promotional content

Step 8: Advanced production tips

For teams deploying at scale, consider these optimizations:

Attachment strategies

  • Use Attachments for PDFs that users download
  • Use InlinedAttachments for logos referenced via cid: in HTML

Campaign organization

  • Set CustomCampaign: “transactional_receipts” for better reporting
  • Enable DeduplicateCampaign to prevent duplicate sends in batches

Error handling and observability

  • Log Send API errors with specific codes and fields for debugging
  • Tag each send with CustomID for easy correlation
  • Include EventPayload with order metadata for downstream reconciliation

Troubleshooting common issues

Here are some issues to troubleshoot if you run into problems with the above.

Template variables not rendering

  • Ensure TemplateLanguage: true is set in your Send API call
  • Verify variable names in your template match those in the Variables object

Authentication errors

  • “Sender not authorized”: Validate your From domain/address first
  • Check that your API credentials are correct and have proper permissions

Missing content

  • “At least HTMLPart, TextPart or TemplateID must be provided”: Ensure you’re providing a TemplateID

Event tracking issues

  • Confirm your webhook endpoint returns HTTP 200
  • Check for rate limiting on your webhook endpoint
  • Consider using grouped events for high-volume scenarios

Nexts steps

You now have a complete, production-ready email receipt system! Here are some ways to enhance it further:

  • Implement A/B testing for different receipt designs
  • Add more sophisticated conditional logic for different product types
  • Set up automated monitoring and alerting for delivery issues
  • Explore Mailjet’s statistics API for detailed performance analytics

For additional resources and code samples, check out the Mailjet templating samples repository which includes a complete working example you can use as a starting point.

Summary

This guide walked you through creating a professional email receipt template using MJML for responsive design and Mailjet’s templating language for dynamic content. You learned how to handle complex order data, attach PDF invoices, ensure reliable delivery, and monitor performance; all essential components for a production ecommerce email system that scales with your business.

The post How to code an email receipt template with MJML and Mailjet’s templating language appeared first on Mailjet: Email Delivery Service for Marketing & Developer Teams.

]]>
Golang send email: Send transactional email with Go in minutes https://w3hy.com/blog/product/go-go-mailjet/ Fri, 29 Aug 2025 15:47:12 +0000 https://w3hy.com/blog/go-go-mailjet/ We've released a new Golang wrapper that will make it easier than ever to manage contacts and process email.

The post Golang send email: Send transactional email with Go in minutes appeared first on Mailjet: Email Delivery Service for Marketing & Developer Teams.

]]>
If you’re building with Go and need reliable email for sign-ups, receipts, password resets, or alerts, this guide shows the fastest path. 

You’ll set up a sender, send your first message with Mailjet’s Go SDK, and learn patterns for templates, attachments, bulk sending, webhooks, and SMTP. 

This is an example-first, production-ready approach to email integration.

Back in 2009, Google released a language called Go, often referred to as “Golang”. Go was introduced as a robust server-side programming language. Since then, it has never failed to fulfill its promises with low-level programming patterns and powerful data structures.

Who this guide is for

This guide is designed for:

  • Developers and DevOps engineers who want a simple, durable “send email in Go” solution
  • Teams who care about deliverability, analytics, and scale without the complexity of SMTP management

Prerequisites

Before getting started, you’ll need:

  • A Mailjet account with API and Secret keys
  • A validated sender email/domain (SPF and DKIM recommended for optimal inbox placement)
  • Go 1.20+ (the SDK supports Go 1.13+) and access to set environment variables

💡 Pro tip: Authenticate your domain via SPF/DKIM to improve inbox delivery rates. See the complete authentication guide for setup details and examples.

Quickstart: Send your first Go email (API v3.1)

Let’s get you sending emails quickly using the official Mailjet Go SDK and the v3.1 Send API.

1. Install dependencies and set API keys

First, install the Mailjet Go SDK:

                            

                                go get github.com/mailjet/mailjet-apiv3-go/v4
                            
                        

Then set your environment variables:

                            

                                export MJ_APIKEY_PUBLIC=your_api_key
export MJ_APIKEY_PRIVATE=your_secret_key
export SENDER_EMAIL=your_verified_sender@yourdomain.com
                            
                        

2. Create your first email program

Create a main.go file with the following code:

                            

                                package main

import (
    "fmt"
    "log"
    "os"

    "github.com/mailjet/mailjet-apiv3-go/v4"
)

func main() {
    mj := mailjet.NewMailjetClient(os.Getenv("MJ_APIKEY_PUBLIC"), os.Getenv("MJ_APIKEY_PRIVATE"))

    msgs := []mailjet.InfoMessagesV31{
        {
            From: &mailjet.RecipientV31{Email: os.Getenv("SENDER_EMAIL"), Name: "Go App"},
            To: &mailjet.RecipientsV31{
                {Email: "recipient@example.com", Name: "Recipient"},
            },
            Subject:  "Hello from Go + Mailjet",
            TextPart: "This is a plain-text fallback.",
            HTMLPart: "<h3>Hello from Go + Mailjet</h3><p>It works.</p>",
        },
    }

    messages := mailjet.MessagesV31{Info: msgs}
    res, err := mj.SendMailV31(&messages)
    if err != nil {
        log.Fatal(err)
    }
    fmt.Printf("Status: %+v\n", res)
}

                            
                        

Why this works

The Go SDK wraps Mailjet’s REST endpoints and provides a convenient SendMailV31 helper that accepts a Messages array. This approach gives you the full power of the Mailjet API with minimal code.

Send via SMTP in go (standard library)

If you prefer SMTP or already use an SMTP MTA, you can use Mailjet’s SMTP relay with your API credentials.

                            

                                package main

import (
    "net/smtp"
    "os"
)

func main() {
    host := "in-v3.mailjet.com"
    auth := smtp.PlainAuth("", os.Getenv("MJ_APIKEY_PUBLIC"), os.Getenv("MJ_APIKEY_PRIVATE"), host)

    to := []string{"recipient@example.com"}
    from := "sender@yourdomain.com"
    msg := []byte(
        "To: recipient@example.com\r\n" +
            "From: Go App <sender@yourdomain.com>\r\n" +
            "Subject: SMTP from Go via Mailjet\r\n" +
            "MIME-Version: 1.0\r\n" +
            "Content-Type: text/html; charset=UTF-8\r\n\r\n" +
            "<p>Hello via SMTP</p>",
    )

    // Port 587 (TLS) or 465 (SSL) are common choices
    err := smtp.SendMail(host+":587", auth, from, to, msg)
    if err != nil {
        log.Fatal(err)
    }
}

                            
                        

SMTP configuration notes

  • SMTP host: in-v3.mailjet.com
  • Common ports: 587 (TLS) or 465 (SSL)
  • Port 25 considerations: May be blocked by your ISP or cloud provider

For more details, see the SMTP configuration guide.

Personalize with templates and variables

Design your email template once in the Mailjet dashboard, then pass a TemplateID and Variables from your Go code for dynamic content.

                            

                                msgs := []mailjet.InfoMessagesV31{
    {
        From:              &mailjet.RecipientV31{Email: os.Getenv("SENDER_EMAIL"), Name: "Go App"},
        To:                &mailjet.RecipientsV31{{Email: "recipient@example.com", Name: "Terry"}},
        TemplateID:        123456,    // replace with your template ID
        TemplateLanguage:  true,      // enable Mailjet templating language
        Variables:         map[string]any{"first_name": "Terry", "plan": "Pro"},
        Subject:           "Welcome, {{var:first_name:\"there\"}}",
    },
}

                            
                        

Template variable syntax

  • API variables: Use {{var:first_name:”default_value”}} to insert variables from your API call
  • Contact data: Use [[data:property:default]] for data stored in Mailjet contacts

For more template examples, see this Stack Overflow discussion.

Attach files and inline images

Send attachments and embed inline images in your emails. The total message size limit is 15 MB.

                            

                                // Read and base64-encode your files first, then:
msgs := []mailjet.InfoMessagesV31{
    {
        From: &mailjet.RecipientV31{Email: os.Getenv("SENDER_EMAIL")},
        To:   &mailjet.RecipientsV31{{Email: "recipient@example.com"}},
        Subject:  "Invoice attached + inline logo",
        HTMLPart: `<p>Thanks for your purchase!</p><img src="cid:logo1" alt="Company Logo">`,
        Attachments: &[]mailjet.AttachmentV31{
            {
                ContentType:   "application/pdf",
                Filename:      "invoice.pdf",
                Base64Content: "<BASE64_STRING>", // your base64-encoded PDF
            },
        },
        InlinedAttachments: &[]mailjet.InlinedAttachmentV31{
            {
                AttachmentV31: mailjet.AttachmentV31{
                    ContentType:   "image/png",
                    Filename:      "logo.png",
                    Base64Content: "<BASE64_PNG>", // your base64-encoded image
                },
                ContentID: "logo1", // referenced in HTML as cid:logo1
            },
        },
    },
}
                            
                        

Attachment best practices

  • Size limit: Keep total message size ≤ 15 MB
  • Bulk emails: For better deliverability, consider linking to hosted files instead of attaching large files
  • Inline images: Use the ContentID field to reference images in your HTML with cid: syntax

Send in bulk (multiple messages)

Send multiple personalized messages in a single API call. Each message is validated independently, so successful messages will be sent even if one fails.

                            

                                msgs := []mailjet.InfoMessagesV31{
    {
        From: &mailjet.RecipientV31{Email: os.Getenv("SENDER_EMAIL")},
        To:   &mailjet.RecipientsV31{{Email: "user1@example.com"}},
        Subject: "Welcome, User 1!",
        HTMLPart: "<p>Hello User 1</p>",
    },
    {
        From: &mailjet.RecipientV31{Email: os.Getenv("SENDER_EMAIL")},
        To:   &mailjet.RecipientsV31{{Email: "user2@example.com"}},
        Subject: "Welcome, User 2!",
        HTMLPart: "<p>Hello User 2</p>",
    },
}

res, err := mj.SendMailV31(&mailjet.MessagesV31{Info: msgs})
if err != nil {
    log.Fatal(err)
}

// Process results - each message gets its own status and ID
for i, result := range res.ResultsV31 {
    fmt.Printf("Message %d: Status=%s, MessageID=%d\n", i, result.Status, result.To[0].MessageID)
}

                            
                        

The v3.1 Send API returns per-message status and IDs, making it easy to correlate results with your original messages. Use the MessageID to track delivery status later.

Track delivery, opens, and clicks (webhooks)

Configure webhooks to receive real-time notifications about email events like delivery, opens, clicks, bounces, and unsubscribes.

Setting up webhooks

  1. Register your webhook endpoint in the Mailjet dashboard under “Event Tracking”
  2. Or use the /v3/REST/eventcallbackurl API endpoint programmatically

Webhook handler example

                            

                                package main

import (
    "encoding/json"
    "net/http"
    "log"
)

type MailjetEvent struct {
    Event     string `json:"event"`
    Time      int64  `json:"time"`
    MessageID int64  `json:"MessageID"`
    Email     string `json:"email"`
    URL       string `json:"url,omitempty"`    // for click events
    Error     string `json:"error,omitempty"`  // for bounce/error events
}

func webhookHandler(w http.ResponseWriter, r *http.Request) {
    defer r.Body.Close()

    var events []MailjetEvent
    if err := json.NewDecoder(r.Body).Decode(&events); err != nil {
        http.Error(w, "bad request", http.StatusBadRequest)
        return
    }

    // Process events (consider using a queue for production)
    for _, event := range events {
        switch event.Event {
        case "sent":
            log.Printf("Message %d sent to %s", event.MessageID, event.Email)
        case "open":
            log.Printf("Message %d opened by %s", event.MessageID, event.Email)
        case "click":
            log.Printf("Message %d clicked by %s (URL: %s)", event.MessageID, event.Email, event.URL)
        case "bounce":
            log.Printf("Message %d bounced for %s: %s", event.MessageID, event.Email, event.Error)
        }
    }

    // Always return 200 to acknowledge receipt
    w.WriteHeader(http.StatusOK)
}

func main() {
    http.HandleFunc("/mj/events", webhookHandler)
    log.Fatal(http.ListenAndServe(":8080", nil))
}

                            
                        

Webhook best practices

  • Return HTTP 200 quickly to acknowledge receipt
  • Process events asynchronously to avoid timeouts
  • Handle retries: Mailjet retries non-200 responses for up to 24 hours

For complete event documentation, see the Event Tracking API guide.

Deliverability essentials

Here are three deliverability essentials to keep in mind.

1. Domain authentication

    Set up SPF and DKIM authentication for your sending domain to improve inbox placement and reduce the risk of spoofing:

    • SPF Record: Authorizes Mailjet to send emails on behalf of your domain
    • DKIM Signing: Adds cryptographic signatures to verify email authenticity

    Follow the complete domain authentication guide for step-by-step setup instructions.

    2. Regional configuration

      If your Mailjet account is on the US infrastructure, configure the SDK to use the US API endpoint:

                                  
      
                                      // For US region accounts
      mj := mailjet.NewMailjetClient(apiKey, secretKey)
      mj.SetAPIBase("https://api.us.mailjet.com/v3.1/")
      
                                  
                              

      3. SMTP configuration

        • Default region: in-v3.mailjet.com
        • Recommended ports: 587 (TLS) or 465 (SSL)

        Firewall considerations: Test your network’s port access; many providers block port 25

        Troubleshooting common issues

        Here are the most common issues and how to troubleshoot them.

        Authentication errors (401 unauthorized)

        • Check your API keys are correctly set in environment variables
        • Verify the API region: Use api.us.mailjet.com for US accounts, api.mailjet.com for EU accounts

        Content validation errors (400 bad request)

        • “At least HTMLPart, TextPart or TemplateID must be provided”: Ensure you include email content or specify a template ID
        • Missing required fields: Verify From, To, and Subject are properly set

        Message size errors (413 payload too large)

        • Check total message size: Keep attachments and content under 15 MB total
        • Consider alternatives: For large files, use hosted links instead of attachments

        Webhook issues

        • Events not being captured: Ensure your webhook endpoint returns HTTP 200 status
        • Processing timeouts: Handle webhook processing asynchronously to avoid blocking Mailjet’s retry mechanism

        Frequently asked questions

        What’s the quickest way to send an email in Go?

        Use the official SDK with SendMailV31 as shown in the Quickstart section. It’s a single function call once your API keys are configured.

        Can I send emails using SMTP instead of the API?

        Yes! Point Go’s net/smtp package at in-v3.mailjet.com using your API key and secret as credentials, with port 587 or 465.

        How do I personalize email templates?

        Set TemplateID, enable TemplateLanguage: true, and pass your data in the Variables field. Use {{var:name:”default”}} syntax in your templates.

        Where can I view delivery and engagement metrics?

        Use webhooks for real-time event data, or check the Mailjet dashboard and REST API statistics endpoints for aggregated metrics.

        Next steps

        Now that you have email sending working in your Go application, consider these enhancements:

        1. Secure your sender reputation: Authenticate your domain with SPF and DKIM records
        2. Add event tracking: Implement webhooks to power analytics and automated workflows
        3. Explore advanced features: Check out URLTags and SandboxMode for testing in the Send API v3.1 documentation
        4. Browse more examples: Visit the Go SDK repository for additional patterns and use cases

        With this foundation, you’re ready to build robust, scalable email functionality into your Go applications. The combination of Mailjet’s reliable infrastructure and Go’s performance makes for a powerful email solution.

        The post Golang send email: Send transactional email with Go in minutes appeared first on Mailjet: Email Delivery Service for Marketing & Developer Teams.

        ]]>