Php 使用hotmail地址成功发送电子邮件,但使用gmail发送:SMTP错误:无法连接到SMTP主机
我用phpmail类发送电子邮件,现在我只是在localhost中测试,直到今天它还可以正常工作 我使用gmail地址进行测试,我的发送电子邮件配置如下:Php 使用hotmail地址成功发送电子邮件,但使用gmail发送:SMTP错误:无法连接到SMTP主机,php,email,phpmailer,Php,Email,Phpmailer,我用phpmail类发送电子邮件,现在我只是在localhost中测试,直到今天它还可以正常工作 我使用gmail地址进行测试,我的发送电子邮件配置如下: define('MAILUSER','myemail_test@gmail.com'); define('MAILPASS','mytestpass'); define('MAILPORT','587'); define('MAILHOST','smtp.gmail.com'); 而且,通过上面的配置,直到今天我都在成功地发送邮件。 但现在
define('MAILUSER','myemail_test@gmail.com');
define('MAILPASS','mytestpass');
define('MAILPORT','587');
define('MAILHOST','smtp.gmail.com');
而且,通过上面的配置,直到今天我都在成功地发送邮件。
但现在它不工作了,我总是收到这样的错误:SMTP错误:无法连接到SMTP主机。
因此,我尝试使用hotmail电子邮件查看它是否有效,我真的不明白为什么,但使用hotmail,我成功地发送电子邮件,如下所示:
define('MAILUSER','myemail_test@hotmail.com');
define('MAILPASS','mytestpass');
define('MAILPORT','25');
define('MAILHOST','smtp.live.com');
你知道为什么会这样吗
我的职能:
function sendMail($subject,$message,$from,$nameFrom,$to,$nameTo, $attachment = NULL, $reply = NULL, $replyNome = NULL){
require_once('mail/class.phpmailer.php');
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->IsHTML(true);
$mail->SMTPSecure = "tls";
$mail->Host = MAILHOST;
$mail->Port = MAILPORT;
$mail->Username = MAILUSER;
$mail->Password = MAILPASS;
$mail->From = utf8_decode($from);
$mail->FromName = utf8_decode($fromName);
if($reply != NULL){
$mail->AddReplyTo(utf8_decode($reply),utf8_decode($replyNome));
}
$mail->Subject = utf8_decode($subject);
$mail->Body = utf8_decode($message);
$mail->AddAddress(utf8_decode($to),utf8_decode($nameTo));
if($attachment != NULL){
$mail->AddAttachment($attachment);
}
if($mail->Send()){
return true;
}
else{
return false;
}
}
它不仅仅是一个不同的端口-您还需要启用TLS。请参见php.ini中的,确保已使用 (窗口)
extension=php\u openssl.dll
(Linux)
extension=php\u openssl.so
此外,对于gmail,请使用以下主机:
$mail->Host = 'ssl://smtp.gmail.com:465';
谢谢你的回答。但我已经有TLS了。比如:$mail->SMTPSecure=“tls”;这不是你在问题中所说的,端口25不使用TLS,这意味着hotmail和gmail脚本之间没有其他区别。我用我的sendmail函数更新我的问题。我不明白我在问题中没有说什么。我总是用gmail,它工作得很好,只是今天它不工作了。hotmail使用端口“25”运行良好…这个问题似乎离题了,因为它是关于电子邮件的可交付性,而不是关于编程。