Bug: The error occurred when the built-in Email library was forced to switch to TLS while setting port 465 #7520
Labels
bug
Verified issues on the current code behavior or pull requests that will fix them
waiting for info
Issues or pull requests that need further clarification from the author
PHP Version
8.1
CodeIgniter4 Version
4.3.4
CodeIgniter4 Installation Method
Composer (using
codeigniter4/appstarter
)Which operating systems have you tested for this bug?
Windows
Which server did you use?
apache
Database
No response
What happened?
The built-in Email library, when specifying the SMTP port as 465, disregards the SMTPCrypto settings, and directly sets the encryption method as tls://, which is incomprehensible to me.
Many email services provide SMTP SSL ports that are designated as 465, but the protocols they offer may only be one of ssl:// and tls://, or one may be stable while the other is not. This choice should ideally be decided by the user.
My current situation is that in Codeigniter3, the smtp_crypto was set to ssl on port 465 and has been running stably. But after upgrading the system to Codeigniter4, I found that the framework forcibly sets tls:// when setting port 465; causing the email failure rate to be as high as 30%.
For now, there's no solution, so I had to temporarily set it to port 25 without specifying SMTPCrypto, and no errors have occurred so far. In the old system, the same SMTP parameters of 465+SSL combination also never caused errors.
The SMTP service I use is from 126.com's email service, and the SMTP server address is smtp.126.com.
Steps to Reproduce
Expected Output
To send emails steadily and normally.
Anything else?
No response
The text was updated successfully, but these errors were encountered: