PHP fatal error : Uncaught Swift_TransportException: Connection could not be established with host ssl://smtp. gmail.com :stream_socket_client()

标签 php email ssl smtp swiftmailer

我正在使用带有 的 Windows 10命令 .
当我开始我的 index.php 文件,使用 php index.php我收到此错误:

PHP Fatal error:  Uncaught Swift_TransportException: Connection could not be established with host ssl://smtp.gmail.com :stream_socket_client(): SSL operation failed with code 1. OpenSSL Error messages: error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed in C:\Users\barte\Desktop\PHP\3\vendor\swiftmailer\swiftmailer\lib\classes\Swift\Transport\StreamBuffer.php:269 Stack trace:
#0 [internal function]: Swift_Transport_StreamBuffer->{closure}(2, 'stream_socket_c...', 'C:\\Users\\barte\\...', 272, Array)
#1 C:\Users\barte\Desktop\PHP\3\vendor\swiftmailer\swiftmailer\lib\classes\Swift\Transport\StreamBuffer.php(272): stream_socket_client('ssl://smtp.gmai...', 0, '', 30, 4, Resource id
#98)
#2 C:\Users\barte\Desktop\PHP\3\vendor\swiftmailer\swiftmailer\lib\classes\Swift\Transport\StreamBuffer.php(58): Swift_Transport_StreamBuffer->establishSocketConnection()
#3 C:\Users\barte\Desktop\PHP\3\vendor\swiftmailer\swiftmailer\lib\classes\Swift\Transport\AbstractSmtpTransport.php(143): Swift_Transport_Strea in C:\Users\barte\Desktop\PHP\3\vendor\swiftmailer\swiftmailer\lib\classes\Swift\Transport\StreamBuffer.php on line 269

Fatal error: Uncaught Swift_TransportException: Connection could not be established with host ssl://smtp.gmail.com :stream_socket_client(): SSL operation failed with code 1. OpenSSL Error messages: error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed in C:\Users\barte\Desktop\PHP\3\vendor\swiftmailer\swiftmailer\lib\classes\Swift\Transport\StreamBuffer.php:269 Stack trace:
#0 [internal function]: Swift_Transport_StreamBuffer->{closure}(2, 'stream_socket_c...', 'C:\\Users\\barte\\...', 272, Array)
#1 C:\Users\barte\Desktop\PHP\3\vendor\swiftmailer\swiftmailer\lib\classes\Swift\Transport\StreamBuffer.php(272): stream_socket_client('ssl://smtp.gmai...', 0, '', 30, 4, Resource id
#98)
#2 C:\Users\barte\Desktop\PHP\3\vendor\swiftmailer\swiftmailer\lib\classes\Swift\Transport\StreamBuffer.php(58): Swift_Transport_StreamBuffer->establishSocketConnection()
#3 C:\Users\barte\Desktop\PHP\3\vendor\swiftmailer\swiftmailer\lib\classes\Swift\Transport\AbstractSmtpTransport.php(143): Swift_Transport_Strea in C:\Users\barte\Desktop\PHP\3\vendor\swiftmailer\swiftmailer\lib\classes\Swift\Transport\StreamBuffer.php on line 269

我的 index.php 文件:
<?php

require "vendor/autoload.php";

$transport = new Swift_SmtpTransport("ssl://smtp.gmail.com", 465);
$transport->setUsername("mymail");
$transport->setPassword("******");

$mailer = new Swift_Mailer($transport);

$message = new Swift_Message();
$message
    ->setFrom("mymail@gmail.com")
    ->setTo("mymail@gmail.com")
    ->setSubject("Hello!")
    ->setBody("Hello, this is example body");

$mailer->send($message);
这是我的 Composer .json 文件:
{
    "name": "bartek/3",
    "authors": [
        {
            "name": "Bartek",
            "email": "mymail@gmail.com"
        }
    ],
    "require": {
        "swiftmailer/swiftmailer": "^6.2"
    }
}


当我输入 Composer --版本我越来越:

PHP temp directory (C:\Users\barte\AppData\Local\Temp) does not exist or is not writable to Composer. Set sys_temp_dir in your php.ini Composer version 1.10.5 2020-04-10 11:44:22


谢谢

最佳答案

我最近为此准备了代码
对于 TLS

$transport = (new Swift_SmtpTransport('smtp.gmail.com', 587,'tls'))
->setUsername('username@gmail.com')
->setPassword('password');
对于 SSL
$transport = (new Swift_SmtpTransport('smtp.gmail.com', 25,'ssl'))
->setUsername('username@gmail.com')
->setPassword('password');

关于PHP fatal error : Uncaught Swift_TransportException: Connection could not be established with host ssl://smtp. gmail.com :stream_socket_client(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61561946/

相关文章:

php - 从 php 传递到 AJAX

php - in_array 多个值

email - 如何从浏览器客户端发送 HTML 电子邮件?

android - 带有 HttpsURLConnection 的 ClassCastException

java - Apache Commons net 中的 execProt ("P"是什么?

java - 如何同时获得不可抵赖证书和数字签名证书

php - MySQL 两个数据库,在一种情况下按一列排序,在不同情况下按另一列排序

angularjs - 如何在Firebase托管中使用自定义域名电子邮件

php - 电子邮件被放入垃圾邮件 - 错误的 header 问题

php - codeigniter 数据库查询替换为现有的