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

通过gmail帐户正确设置PHPMailer

唐默
2023-03-14

我正试图用PHPMailer在我的网站上建立一个简单的电子邮件功能。我正在使用自己的gmail帐户进行测试,并向自己发送一封测试电子邮件。我正在Mac上运行MAMP PRO。我看到了很多关于这个的问题,花了一个下午的时间研究它,但我所看到的一切都归结为关于正确设置的相互矛盾的建议,使用端口487与465等。我尝试了下面各种设置的多种组合($mail)-

 mail = new PHPMailer();
 $mail->IsSMTP();  
 $mail->Host     = "smtp.gmail.com"; 
 $mail->From     = "me@gmail.com";
 $mail->AddAddress("me@gmail.com");
 $mail->SMTPAuth = true;
 $mail->SMTPSecure = 'tls';
 $mail->Port = 587;
 $mail->username = "me@gmail.com";
 $mail->password = "mypassword";
 $mail->Subject  = "First PHPMailer Message";
 $mail->Body     = "Hi! \n\n This is my first e-mail sent through PHPMailer.";
 $mail->WordWrap = 50;

 if(!$mail->Send()) {
   echo 'Message was not sent.';
   echo 'Mailer error: ' . $mail->ErrorInfo;
 } else 
   echo 'Message has been sent.';
 }

错误消息是-"消息未发送。邮件错误:SMTP连接()失败。"

共有1个答案

葛炯
2023-03-14

你的代码看起来不错-我肯定会选择587上的TLS。此错误通常与您运行的环境有关-请检查以下事项:

  • 您的DNS正在工作(尝试用IP代替smtp.gmail.com)
  • 在php.ini中没有阻止或禁用stream_socket_clientfsokopen(或一般的fopen包装器)
  • 检查您的防火墙是否阻止您
  • 阅读故障排除文档
 类似资料:
  • 我尝试了许多网站,但我找不到结果我想做什么。所以任何人都可以帮我解决这个问题吗? 我的问题是:我想向客户发送忘记密码的电子邮件。该电子邮件将在15分钟后过期。这是我的代码 我还添加了这个代码

  • 当我尝试通过运行Laravel 4的网站发送电子邮件时,我会收到这个异常: 预期响应代码为250,但收到代码“535”,消息“535-5.7.8用户名和密码不被接受。有关详细信息,请访问535 5.7.8http://support.google.com/mail/bin/answer.py?answer=14257wd7sm12843789wjc。36-gsmtp“ 这是我的邮件配置: 我第一次

  • 我想用gmail API阅读我的gmail收件箱。我需要使用服务帐户,因为我的应用程序没有用户交互。我在请求时收到以下错误: 这是我的代码: 我做错了什么?有人能帮我吗? 当做

  • 我们正在中开发一个内部应用程序。其中一个要求是应用程序的所有用户必须能够看到预定义的Gmail帐户(例如。)中的邮件数量,这是谷歌办公套件的一部分。这意味着登录应用程序的每个用户都能够看到这些信息,而无需任何额外的谷歌登录或类似的东西。应用程序应该能够在没有用户交互的情况下访问电子邮件,只需使用代码。 阅读文档后,我注意到有两种类型的账户——普通账户和服务账户。我有以下问题: 哪种账户类型适合我们

  • 我所在的学校从2009年初开始运行谷歌教育应用程序。我负责创建、删除、修改等。学生电子邮件账户。我已经将我所有现有的C#应用程序从GData转换到新的管理SDK——生活很好。 上周,其中一个系向大约800名学生发送了一封包含错误的电子邮件。我被问到是否有可能创建一个快速应用程序,能够删除800名学生收件箱中的电子邮件。 使用我的“超级管理”域帐户,我能够使用Gmail应用编程接口创建一个应用程序,

  • 我面临的问题是: 用户首先使用“使用电子邮件注册”进行注册。之后,用户注册了一个谷歌帐户(有相同的电子邮件)。 现在之后,当用户尝试通过电子邮件和密码登录。我得到错误的密码是不正确的,我知道这是因为注册与电子邮件详细信息已经覆盖了谷歌帐户详细信息。 我要显示错误“电子邮件与谷歌帐户链接,请通过谷歌帐户登录”。