php - Swift 邮件程序触发 fatal error ;

标签 php swiftmailer

Fatal error: Uncaught exception 'Swift_TransportException' with message 'Expected response code 250 but got code "530", with message "530 5.7.0 Must issue a STARTTLS command first. fb9sm57232081wid.2 - gsmtp "' in C:\xampp\htdocs\lib\classes\Swift\Transport\AbstractSmtpTransport.php:386 Stack trace: #0 C:\xampp\htdocs\lib\classes\Swift\Transport\AbstractSmtpTransport.php(281): Swift_Transport_AbstractSmtpTransport->_assertResponseCode('530 5.7.0 Must ...', Array) #1 C:\xampp\htdocs\lib\classes\Swift\Transport\EsmtpTransport.php(245): Swift_Transport_AbstractSmtpTransport->executeCommand('MAIL FROM: executeCommand('MAIL FROM: _doMailFromCommand('sophie3394@gm...')

4 C:\xampp\htdocs\lib\classes\Swift\Transport\AbstractSmtpTransport.php(444):

Swift_Transport_AbstractSmt in C:\xampp\htdocs\lib\classes\Swift\Transport\AbstractSmtpTransport.php on line 386

这是由以下代码引起的错误:

ini_set("SMTP","ssl://smtp.gmail.com");
ini_set("smtp_port","465");

require_once 'lib/swift_required.php';

$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 25)
    ->setUsername('sophie3394@gmail.com')
    ->setPassword('xxxx');

$mailer = Swift_Mailer::newInstance($transport);

$message = Swift_Message::newInstance('Test Subject')
    ->setFrom(array('sophie3394@gmail.com' => 'ABC'))
    ->setTo(array('sophie3394@gmail.com'))
    ->setBody('This is a test mail.');

$result = $mailer->send($message);

解决此错误的步骤是什么?


Fatal error: Uncaught exception 'Swift_TransportException' with message 'Connection could not be established with host smtp.gmail.com [Unable to find the socket transport "ssl" - did you forget to enable it when you configured PHP? #1899472503]' in C:\xampp\htdocs\lib\classes\Swift\Transport\StreamBuffer.php:259 Stack trace: #0 C:\xampp\htdocs\lib\classes\Swift\Transport\StreamBuffer.php(64): Swift_Transport_StreamBuffer->_establishSocketConnection() #1 C:\xampp\htdocs\lib\classes\Swift\Transport\AbstractSmtpTransport.php(115): Swift_Transport_StreamBuffer->initialize(Array) #2 C:\xampp\htdocs\lib\classes\Swift\Mailer.php(80): Swift_Transport_AbstractSmtpTransport->start() #3 C:\xampp\htdocs\Mail.php(26): Swift_Mailer->send(Object(Swift_Message)) #4 {main} thrown in C:\xampp\htdocs\lib\classes\Swift\Transport\StreamBuffer.php on line 259

最佳答案

更改代码中的端口(newInstance 函数的第二个参数)并添加第三个参数“ssl”

$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, 'ssl')

它是 25 并且 ssl 丢失了。 Swift_SmtpTransport 根本没有使用加密,Gmail 对此表示不满。

关于php - Swift 邮件程序触发 fatal error ;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17768146/

相关文章:

php - WordPress 数据库和查询

java - 在 PHP 中将 "raw"字符串格式化为 Java UUID

php - $.ajax 将数组作为 Json 发送到 PHP。 $_POST = 空

html - yii2 削减电子邮件中的 css 类

swiftmailer - Swiftmailer 的 Silex 特征。 fatal error :调用未定义的方法 Silex\Application::mail()

php - SwiftMailer 测试用户名和密码

基于学年的 PHP 和 MySQL 存档

php - 如何从同一类的不同函数访问变量?

php - 无法阻止在 Laravel 中向浏览器显示 SwiftMailer 异常

php - 如何使用Google Analytics(分析)跟踪电子邮件中的打开率,点击率?