我尝试过联系Bluehost的支持,但他们不知道如何设置它。
我所做的是首先创建我的电子邮件帐户(VPS帐户)。 然后获取我的电子邮件设置的所有详细信息。
电子邮件设置
邮件服务器用户名:notification@website.co
标准(不含SSL)
接收邮件服务器:此处的详细信息
支持的端口:143(IMAP),110
(POP3)外发邮件服务器:此处的详细信息
支持的端口:26(服务器 要求认证)
所以在我的PHPMailer代码上我添加了这个:
$mail->SMTPAuth = true;
$mail->SMTPSecure = "ssl";
$mail->Port = 26;
$mail->Host = "198.xx.xxx.x";
$mail->Username = 'notification@website.co';
$mail->Password = "myemailpassword";
但是我收到了这个错误。
SMTP -> ERROR: Failed to connect to server: Connection timed out (110)
SMTP Error: Could not connect to SMTP host.
这是我的SMTP的新设置。 有帮助吗?我是设置PHPMailer SMTP的新手。
不同答案 0 :(得分:0)
邮件是一种真正的痛苦,我永远不会建议使用内置邮件。例如,在发送邮件时,您需要考虑很多事情;
将邮件发送到哪个IP列入黑名单?
可传输性,如果您的服务器崩溃了邮件,那么将邮件放在与您的Web服务器相同的位置可能会产生灾难性问题。
您正在使用共享主机,因此可能因垃圾邮件限制而无法发送邮件。
您最好的选择是获取像Mailgun这样的服务并使用他们的API并发送邮件,他们可以免费获得最多10,000封电子邮件。它们处理所有事情,从确保标题正确,它们是从可靠来源发送。
当然这不是你问题的直接解决方案,也许你不知道像Mailgun这样的服务,我强烈建议研究PHP的邮件发送。
答案 1 :(得分:0)
在没有加密的情况下在端口26上运行经过身份验证的SMTP不是标准的!
他们说"标准版(没有SSL )",但您已经放置了$mail->SMTPSecure = "ssl";
。
这不太可行,因为该模式需要隐式SSL(即PHPMailer会立即开始与SSL连接),所以要做他们所说的并用$mail->SMTPSecure = '';
禁用它 - 或者不要t设置它,因为这是默认值。
通过设置$mail->SMTPDebug = 3;
答案 2 :(得分:0)
这取决于Bluehost服务器,有时它们会给您错误
错误:无法连接到服务器:连接超时(110) SMTP错误:无法连接到SMTP主机。
前几天,他们可以给您一个不同的错误
连接失败。错误2:stream_socket_enable_crypto():对等证书CN =
*.bluehost.com
与预期的CN =blah-blah.blah.com
不匹配[/home/.../vendor/phpmailer/phpmailer/src/SMTP.php第405行]
所有这些归结为Bluehost
,希望您通过其交换服务器发送电子邮件。
与服务提供商竞争是一个坏主意,无论您是否在他们的配置中找到一个整体,他们都将有一天对其进行更改,并且会遇到麻烦。
放弃并转到其他托管服务器。