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

使用GMail SMTP服务器从PHP页面发送电子邮件

邓俊英
2023-03-14
问题内容

我正在尝试从PHP页面通过GMail的SMTP服务器发送电子邮件,但出现此错误:

身份验证失败[SMTP:SMTP服务器不支持身份验证(代码:250,响应:mx.google.com,为您提供服务,[98.117.99.235]大小为35651584 8位MIME STARTTLS增强的状态代码,编码方式)]]

有人可以帮忙吗?这是我的代码:

<?php
require_once "Mail.php";

$from = "Sandra Sender <sender@example.com>";
$to = "Ramona Recipient <ramona@microsoft.com>";
$subject = "Hi!";
$body = "Hi,\n\nHow are you?";

$host = "smtp.gmail.com";
$port = "587";
$username = "testtest@gmail.com";
$password = "testtest";

$headers = array ('From' => $from,
  'To' => $to,
  'Subject' => $subject);
$smtp = Mail::factory('smtp',
  array ('host' => $host,
    'port' => $port,
    'auth' => true,
    'username' => $username,
    'password' => $password));

$mail = $smtp->send($to, $headers, $body);

if (PEAR::isError($mail)) {
  echo("<p>" . $mail->getMessage() . "</p>");
 } else {
  echo("<p>Message successfully sent!</p>");
 }
?>

问题答案:

// Pear Mail Library
require_once “Mail.php”;

$from = '<fromaddress@gmail.com>';
$to = '<toaddress@yahoo.com>';
$subject = 'Hi!';
$body = "Hi,\n\nHow are you?";

$headers = array(
    'From' => $from,
    'To' => $to,
    'Subject' => $subject
);

$smtp = Mail::factory('smtp', array(
        'host' => 'ssl://smtp.gmail.com',
        'port' => '465',
        'auth' => true,
        'username' => 'johndoe@gmail.com',
        'password' => 'passwordxxx'
    ));

$mail = $smtp->send($to, $headers, $body);

if (PEAR::isError($mail)) {
    echo('<p>' . $mail->getMessage() . '</p>');
} else {
    echo('<p>Message successfully sent!</p>');
}


 类似资料:
  • 我试图发送电子邮件使用gmail smtp使用javax.mail.下面是我的代码 代码工作正常当我在本地服务器上运行它时,但当我尝试在Elastic beanstek上运行它时(我的服务器在AWS EBS上运行),身份验证失败异常即将到来注意:我已打开从Google A/c设置访问不太安全的应用程序,但我仍然收到此错误 javax.mail.身份验证失败异常:534-5.7.14请通过您的网络浏

  • 我目前正在为某人做一个网站,我想在联系我们页面上添加一个表单,使用他们没有Php的网络托管服务器向他们的电子邮件地址发送消息。有人能帮我吗?我无法理解这个过程,以及如何使它安全并真正发挥作用。我必须在服务器上部署一些东西吗?或者我可以使用他们在那里的smpt服务器吗?如果是这样,我如何确保smtp服务器身份验证在客户端的devols上不可见。谢谢你!

  • 我创建了下一个类: 我在我的服务中声明它是一项服务。yml 在我的控制器中,调用服务: 电子邮件已发送,但页面仍在加载30秒,我有一个来自开发人员工具栏的警报:加载Web调试工具栏时发生错误(404:未找到)。您想打开分析器吗?如果接受消息,Symfony分析器不显示任何错误。如果取消,消息开发人员工具栏不会出现。 我做错了什么? 非常感谢。

  • 问题内容: 我尝试使用 Spring javamail 从 Heroku 发送电子邮件,但出现错误。 __ 我的代码: 豆子: 和控制器: 在localhost:8080和localhost:5000上,测试成功完成,但是在heroku服务器上,我有例外: 验证失败;嵌套的异常是javax.mail.AuthenticationFailedException:534-5.7.14请通过Web浏览器

  • 我试图使用Spring javamail从Heroku发送电子邮件,但出现了错误。 我的代码: 豆: 和控制器: 在localhost:8080和localhost:5000上,测试成功完成,但在heroku服务器上,我有一个异常: 身份验证失败;嵌套的异常是javax。邮政身份验证失败异常:534-5.7.14请通过web浏览器和534-5.7.14登录,然后重试。534-5.7.14在534