当前位置: 首页 > 知识库问答 >
问题:

"SMTP错误无法连接到SMTP主机。消息未发送

詹正浩
2023-03-14

我正在处理一封使用phpmailer类的Web邮件。问题是我收到错误“SMTP错误:无法连接到SMTP主机。邮件未发送PHP邮件错误:SMTP错误:无法连接到SMTP主机。”

我的代码是:

 <html>
<head>
<title>PHPMailer - SMTP basic test with authentication</title>
</head>
<body>

<?php

//error_reporting(E_ALL);
error_reporting(E_STRICT);

date_default_timezone_set('America/Toronto');

require_once('../class.phpmailer.php');
//include("class.smtp.php"); // optional, gets called from within class.phpmailer.php if not already loaded

$mail             = new PHPMailer();

$body             = file_get_contents('contents.html');
$body             = eregi_replace("[\]",'',$body);

$mail->IsSMTP();
$mail->Port = 465;
$mail->Host = 'smtp.gmail.com'; // "ssl://smtp.gmail.com" didn't worked
$mail->IsHTML(true); // if you are going to send HTML formatted emails
$mail->Mailer = 'smtp';
$mail->SMTPSecure = 'ssl';

$mail->SMTPAuth = true;
$mail->Username = "email@gmail.com";
$mail->Password = "mypass";

$mail->SingleTo = true; // if you want to send mail to the users individually so that no recipients can see that who has got the same email.

$mail->From = "email@gmail.com";
$mail->FromName = "mypass";

$mail->addAddress("livelyphoneix@yahoo.com","User 1");
$mail->addAddress("user.2@gmail.com","User 2");

$mail->addCC("user.3@ymail.com","User 3");
$mail->addBCC("user.4@in.com","User 4");

$mail->Subject = "Testing PHP Mailer with localhost";
$mail->Body = "Hi,<br /><br />This system is working perfectly.";

if(!$mail->Send())
    echo "Message was not sent <br />PHP Mailer Error: " . $mail->ErrorInfo;
else
    echo "Message has been sent";

?>

</body>
</html>

And my php.ini setting is :

    [mail function]
; For Win32 only.
; http://php.net/smtp
;SMTP =
; http://php.net/smtp-port
;smtp_port = 465

; For Win32 only.
; http://php.net/sendmail-from
;sendmail_from = you@domain.com
; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
; http://php.net/sendmail-path
sendmail_path ="C:\wamp\sendmail\sendmail.exe -t -i"

; Force the addition of the specified parameters to be passed as extra parameters
; to the sendmail binary. These parameters will always replace the value of
; the 5th parameter to mail(), even in safe mode.
;

有人想让我知道我错在哪里,我需要你对这个问题的关注。

共有2个答案

越涛
2023-03-14

smtp主机设置正确,但您的$mail-

江迪
2023-03-14

试着替换

 $mail->SMTPSecure = 'ssl';

$mail->SMTPSecure = 'tls';
 类似资料:
  • 当我从服务器发送电子邮件时,它会给我两个错误- SMTP错误:无法连接到SMTP主机。无法发送邮件。邮件错误:SMTP错误:无法连接到SMTP主机。 我在另一个关于堆栈溢出的答案上找到了很多提示,但都不起作用。我试过465/587/65号端口。如果我设置端口587,下面的代码在本地系统上也能正常工作。但在服务器中,它不起作用。

  • SMTP错误:无法连接到SMTP主机。无法发送消息。 邮件程序错误:SMTP错误:无法连接到SMTP主机。 我似乎找不到让PHPMailer在CentOS下工作的方法。邮件在XAMPP的Windows下工作正常,但我总是在Linux下遇到这个错误。 SMTP服务器是一个在端口25上侦听的Lotus Domino,CentOS机器根本没有防火墙,奇怪的是,即使是mail()也不能工作。它不返回任何内

  • 问题内容: 以下是我发送邮件的代码: 但是当我运行代码时,它给了我以下异常。 当我ping到它时,它给我的答复没有任何问题。我在用 请帮我解决这个问题。 问题答案: 这是这两行让我感到困扰的问题: 并添加了这一行: 删除并添加以上代码行后,它可以正常工作。

  • 我正在尝试从我的java发送电子邮件,但我无法连接到我的主机。这里是我的代码: 这里是我的代码: 这里又是我的报告错误: 有人能帮帮我吗?:(

  • 这是我用来发送电子邮件的代码: javax.mail.MessagingException:无法连接到SMTP主机:SMTP.gmail.com,端口:465; 嵌套异常为: java.net.connectException:连接被拒绝 在com.sun.mail.SMTP.smtpransport.openserver(smtpransport.java:1961) 在com.sun.mail

  • 我在windows server 2008 R2上遇到以下错误,并且在我的防火墙入站规则上启用了: 请救命!!