Closed skycyclone closed 10 months ago
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%.
I don't understand why the failure rate is as high as 30%.
This is not a bug, but a bug fix: #3430 Please ask the service provider why tls makes unstable.
It would be unlike CI to force the library to change user's settings. I would like to fix this behavior as a bug. See also https://github.com/codeigniter4/CodeIgniter4/pull/7522#issuecomment-1565352711
@skycyclone I sent a PR to fix this: #7883 Try if you can.
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