RPCS3 / rpcs3

PlayStation 3 emulator and debugger
https://rpcs3.net/
GNU General Public License v2.0
15.32k stars 1.91k forks source link

RPCN Account Creation Token Email Rejected by Google's Mail Servers (Missing `Message-ID` Header Defined in RFC 5322) #14748

Closed robfrawley closed 9 months ago

robfrawley commented 11 months ago

Summary

I cannot receive the RPCN new account email containing the verification token (disallowing any use of this new account) due to Google's SMTP servers (gsmtpdocumented here) immediately bouncing the message for not containing a Message-ID header, as defined in RFC 5322.

Details

Using the latest release of RPCS3 (0.0.29-15693-b3864f2d), I created a new account using the "Official RPCN Server" without any local application issues (I've confirmed via the RPCS log file that it behaved exactly as expected). After not receiving the verification email, I used the RPCS app to request a new verification email; neither the first nor second email were ever delivered. As such, my account cannot be activated (for reference, my RPCS username is robfrawley — as it is everywhere).

Fortunately, I'd used an email address managed by Google Workspace to create the new RPCN account, which logs and exposes substantially more information about the behavior of various Google services than is available to regular Google accounts.

Using the Google Workspace reporting and audit tools (specifically, Email Log Search), I determined that Google bounced both messages back to the sender (np@rpcs3.net) due to a missing email header (specifically, Message-ID as defined in RFC 5322).

Neither a regular Google account nor a paid Google Workspace account can overcome this email rejection, as it occurs before the message even hits any configurable quarantine rules or spam filters; the message is bounced immediately by Google's SMTP servers (gsmtpdocumented here) before any email delivery controls are made available. As such, even whitelisting the sending domain in the Google Workspace admin console wouldn't allow the message to be delivered.

Google SMTP Email Receipt Log

The following is all the logged email handling information pertaining to the bounced verification email, as provided by the Google Workspace Email Log Search tool:

Subject      : Your token for RPCN
Sender       : np@rpcs3.net
Recipient    : <redacted>@robfrawley.com
Date         : Oct 19, 2023, 11:54:38 AM
Message ID   : <6531513e.170a0220.7975a.9cefSMTPIN_ADDED_MISSING@mx.google.com>
Message Size : 3.1 KB
Attachments  : 0
Direction    : Received
Status       : 0/1 Delivered
History      : Oct 19, 2023, 11:54:39 AM: Received from an SMTP client with IP address: 138.201.84.154 (TLS enabled)
               Oct 19, 2023, 11:54:39 AM: Bounced 550-5.7.1 [209.85.220.69] Messages missing a valid Message-ID header
               are not accepted. Please visit support.google.com/mail/?p=RfcMessageNonCompliant and review 550 5.7.1
               RFC 5322 specifications for more information. - gsmtp

As stated in the delivery error above, it appears Google rejects email that does not meet the requirements enumerated in the Message Formatting section of their Email Sender Guidelines documentation, and the verification emails being sent by the rpcs3.net SMTP server do not include the required Message-ID header.

Application Logs

Before I thought to check my Google Workspace email logs, I checked the RPCS3 logs to ensure no local application errors were causing my issue; I determined there were no relevant warnings or errors logged during the account creation process. Instead, the logs showed that the RPCS3 application was behaving exactly as expected.

After discovering the SMTP delivery issue, it became clear that any issues originated from the rcps3.net SMTP server handling these messages, and I don't have access to those logs. ;-)

System Configuration

While my system configuration is likely entirely irrelevant to this specific issue, I decided to enumerate my system specifications anyway for the completeness of this bug report.

Component Detailed Component Information
App RPCS3 v0.0.29 Alpha (Full Build Version: v0.0.29-15693-b3864f2d Alpha)
OS Windows 11 Pro (Version: 23H2 / Build: 22635.2419 / Service Pack: None / Compatibility Mode: Disabled)
Platform Lenovo P17 Gen 2 Mobile Workstation (Machine Type: 20YU0066US)
RAM 128 GB (Type: DDR4-3200 / Layout: 4 x 32GB / ECC: False)
GPU NVIDIA RTX A5000 Laptop GPU (Driver version: 537.42.0.0)
CPU 11th Gen Intel(R) Core(TM) i9-11950H @ 2.60GHz (Threads: 16 / TSC: 2.61GHz / Instruction Sets: MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, EM64T, VT-x, AES, AVX, AVX2, AVX512F, FMA3, SHA)
RipleyTom commented 9 months ago

This is fixed as of RPCN 0.9.1, I added a Message-ID to the email, I tested it and it's working properly. Thanks for the thorough investigation!