gpt4 book ai didi

cakephp - 使用 cakePHP 使用 STARTTLS 命令通过 SMTP 发送电子邮件

转载 作者:太空宇宙 更新时间:2023-11-03 15:03:18 26 4
gpt4 key购买 nike

我被要求按照以下说明使用外部 SMTP 服务器:

“我们希望您以明文方式连接到端口 25,然后发出 STARTTLS 以启动 TLS/SSL。然后登录”

这可能吗?如果可以,我应该怎么做?据我了解,这与在 smtp 连接数组中将 TLS 设置为 true 不同,对吗?

更新在这里迈向胜利。查看 SmtpTransport.php 中的代码,我可以看到它与评论中链接的规范相匹配(很明显),但是 block 102-107 似乎将主机设置为客户端或本地主机 - 我正在设置远程 ip主机配置。我做错了吗?

蛋糕代码:

protected function _connect() {
$this->_generateSocket();
if (!$this->_socket->connect()) {
throw new SocketException(__d('cake_dev', 'Unable to connect to SMTP server.'));
}
$this->_smtpSend(null, '220');

if (isset($this->_config['client'])) {
$host = $this->_config['client'];
} elseif ($httpHost = env('HTTP_HOST')) {
list($host) = explode(':', $httpHost);
} else {
$host = 'localhost';
}

try {
$this->_smtpSend("EHLO {$host}", '250');
if ($this->_config['tls']) {
$this->_smtpSend("STARTTLS", '220');
$this->_socket->enableCrypto('tls');
$this->_smtpSend("EHLO {$host}", '250');
}
} catch (SocketException $e) {
if ($this->_config['tls']) {
throw new SocketException(__d('cake_dev', 'SMTP server did not accept the connection or trying to connect to non TLS SMTP server using TLS.'));
}
try {
$this->_smtpSend("HELO {$host}", '250');
} catch (SocketException $e2) {
throw new SocketException(__d('cake_dev', 'SMTP server did not accept the connection.'));
}
}
}

我的电子邮件配置:

    public $smtp = array(
'transport' => 'Smtp',
'from' => array('me@example.com' => 'my name'),
'host' => 'secretipaddress',
'port' => 25,
'timeout' => 30,
'username' => 'me@example.com',
'password' => 'secretpassword',
'client' => null,
'log' => true,
'tls' => true
);

最佳答案

在您的配置文件 app.php 中启用“tls”为真。它适用于我和带有 gmail smtp 的 cakephp 3.1

关于cakephp - 使用 cakePHP 使用 STARTTLS 命令通过 SMTP 发送电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17315582/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com