European Payment Giant's Email Infrastructure Fails Basic RFC Compliance
#Vulnerabilities

European Payment Giant's Email Infrastructure Fails Basic RFC Compliance

Startups Reporter
3 min read

Viva.com, one of Europe's largest payment processors, sends verification emails without required Message-ID headers, causing Google Workspace users to be unable to verify accounts. Their support team dismissed the issue despite it being a fundamental email protocol violation.

When Ian Atha attempted to create an account with viva.com, one of Europe's largest payment processors, he encountered an unexpected roadblock that exposed a fundamental flaw in the company's email infrastructure.

The Broken Verification Flow

The signup process seemed straightforward: enter your email, receive a verification link, click it, and you're done. But for Atha, the verification email never arrived. Not in his inbox, not in spam folders, nowhere. After multiple attempts and days of waiting, he turned to Google Workspace's Email Log Search to investigate.

What he discovered was telling: Google's mail servers had bounced the message with a clear error - "Messages missing a valid Message-ID header are not accepted." The bounce came from Google's IP range 209.85.220.69, indicating a strict enforcement of email protocol standards.

A Protocol Violation Since 2008

The issue at hand isn't some obscure technical detail. The Message-ID header has been a requirement in the Internet Message Format specification (RFC 5322) since 2008, and was already mandated by its predecessor RFC 2822 back in 2001. Every modern email library and transactional email service generates this header automatically - you have to explicitly disable it to omit it.

Atha notes an important technical distinction: RFC 5322 uses "SHOULD" rather than "MUST" for the Message-ID header, making it a strong recommendation rather than a strict requirement. However, Google treats it as mandatory, creating a conflict where users are caught in the middle.

The Workaround and Support Response

To complete his account setup, Atha had to abandon his business email hosted on Google Workspace and use a personal Gmail address instead. The verification email arrived immediately through Gmail's more lenient receiving infrastructure.

When he reported the issue to viva.com's customer support, providing detailed technical information including screenshots from Google's email logs, the response was dismissive. "We can see your account now has a verified email address, so there doesn't appear to be an issue," they replied. No acknowledgment of the technical problem, no escalation to engineering, just confirmation that he'd worked around their bug.

Questions About European Fintech Infrastructure

For a company processing payments across Europe, this raises serious concerns. "If they can't get email headers right, what does the rest of the stack look like?" Atha asks. He's not being rhetorical - as a Greek business owner, he needs reliable payment processing infrastructure.

Viva.com is one of the few processors that natively supports Greece's instant-payment system IRIS. Stripe, which Atha would prefer to use, doesn't yet support this local payment rail. This lack of competition means European businesses are often forced to rely on infrastructure that fails basic compliance checks.

A Pattern of European Business APIs

This experience fits a broader pattern Atha has observed with European business-facing APIs and services. Documentation is often incomplete or packaged as unwieldy PDFs. Edge cases go unhandled. Error messages mislead. When issues are reported, support teams lack the technical depth to understand or address them.

"I don't think this is because European engineers are less capable," Atha explains. "I think it's a prioritization problem. When you're the only option in a market (or one of very few), there's less competitive pressure to polish the developer experience."

Stripe has raised the global bar for API quality and developer experience, but in markets it doesn't fully serve, the standard remains remarkably low. Until comprehensive alternatives emerge that cover local payment rails alongside excellent developer experience, these issues will persist.

The Simple Fix

For viva.com's engineering team, the solution is straightforward: add a Message-ID header to outgoing transactional emails. The header should look something like: Message-ID: <[email protected]>.

Most email libraries generate this automatically. If viva.com's system doesn't, it's a one-line fix that would resolve the issue for all Google Workspace users - and likely many others who encounter similar email server configurations.

As Atha puts it: "Your Google Workspace users (and I suspect there is a number of us) will thank you."

Featured image

Comments

Loading comments...