当前位置: 首页 > 面试题库 >

SMTP connect()失败的PHPmailer-PHP

钱和平
2023-03-14
问题内容

我是PHP新手。我试图通过PHPmailer向自己发送示例电子邮件。我正在使用gmail的smtp服务器。我正在尝试将示例邮件从我的gmail帐户发送到我的yahoo帐户。但是我得到了错误:Mailer Error: SMTP connect() failed.
这是代码:

<?php

require "class.phpmailer.php";
$mail = new PHPMailer(); 
$mail->IsSMTP();                              // send via SMTP
$mail->Host = "ssl://smtp.gmail.com";
$mail->SMTPAuth = true;                       // turn on SMTP authentication
$mail->Username = "myemail@gmail.com";        // SMTP username
$mail->Password = "mypassword";               // SMTP password
$webmaster_email = "myemail@gmail.com";       //Reply to this email ID
$email="myyahoomail@yahoo.in";                // Recipients email ID
$name="My Name";                              // Recipient's name
$mail->From = $webmaster_email;
$mail->Port = 465;
$mail->FromName = "My Name";
$mail->AddAddress($email,$name);
$mail->AddReplyTo($webmaster_email,"My Name");
$mail->WordWrap = 50;                         // set word wrap
$mail->IsHTML(true);                          // send as HTML
$mail->Subject = "subject";
$mail->Body = "Hi,
This is the HTML BODY ";                      //HTML Body 
$mail->AltBody = "This is the body when user views in plain text format"; //Text Body

if(!$mail->Send())
{
echo "Mailer Error: " . $mail->ErrorInfo;
}
else
{
echo "Message has been sent";
}
?>

我在Windows 7 64位计算机上使用WAMP服务器。可能是什么概率?
请帮我解决这个问题。谢谢!


问题答案:

您需要添加Host参数

$mail->Host = "ssl://smtp.gmail.com";

另外,请检查是否已open_ssl启用。

<?php
echo !extension_loaded('openssl')?"Not Available":"Available";


 类似资料:
  • 问题内容: 遇到了应从具有自签名证书的邮件服务器发送电子邮件的问题,我得到的错误是: 有没有人遇到过类似的事情? 编辑: 我也尝试过设置stream_context参数(params:SSL上下文选项): 运气不好,它仍然会失败,并出现与上述相同的错误。 谢谢。 问题答案: PHP 5.6引入了SSL证书验证,因此,如果您的配置被破坏,它将因该错误而失败。您应该修复SSL,但是可以通过将属性设置为

  • 我正在尝试从网站向邮件id发送反馈,但收到以下错误: 2017-12-03 12:03:48无法访问文件: /var/tmp/file.tar.gz2017-12-03 12:03:48无法访问文件: /tmp/image.jpg2017-12-03 12:03:48服务器- 这是我的代码:

  • 我没有使用php的mail()函数,而是尝试设置PHPMailer,但没有成功。为了调试的目的,我输入了“echo here”,这就是它显示的全部内容。我没有收到任何电子邮件,也没有收到任何已发送或错误消息。我被难住了,在这里研究之后,我可能会改用swift mailer。我真的很想知道我搞砸了什么。 在我的代码中,地址设置为我的电子邮件,用户名和密码设置为我创建的虚拟帐户。

  • 我一直在用代表我的office365帐号发送SMTP邮件,工作了大概一个星期,然后突然不工作了,不知道怎么变了。 当我在PHPMailer中启用high debug logging时,我看到: SMTP- 这篇文章似乎是最相关的: 不接受来自服务器的身份验证:504 5.7.4无法识别的身份验证类型 以下是我交给PHPMailer的文字SMTP设置: 以及实际的PHP代码: 作为理智检查,我在中使

  • PHPMailer是一个用于发送电子邮件的PHP函数包。它提供的功能包括: *.在发送邮时指定多个收件人,抄送地址,暗送地址和回复地址 *.支持多种邮件编码包括:8bit,base64,binary和quoted-printable *.支持SMTP验证 *.支持冗余SMTP服务器 *.支持带附件的邮件和Html格式的邮件 *.自定义邮件头 *.支持在邮件中嵌入图片 *.调试灵活 *.经测试兼容的

  • 我正在使用谷歌的邮件服务器发送电子邮件。对于电子邮件发送,我使用PHPMailer。这是我在示例中使用的代码片段。com/contactus站点: 代码向我发送了一封电子邮件(support@example.com)其标题为: 问题是,当我使用不同的地址作为用户名和密码进行身份验证时,消息不会被发送。错误是: 我不知道为什么它与我每天使用的私人gmail帐户一起工作,为什么它不与我拥有的其他gma