以下代码用于使用phpmailer函数和Amazon ses ec2发送电子邮件,如果我使用其他端口(25、465、587),则会收到不同的错误。

 <?php
    require 'class.phpmailer.php';
    $to         = "********@gmail.com";
    $from       = "info@itlowers.com";   // verified mail id
    $subject    = "a test subject";
    $body       = "email body content goes here";

    $mail       = new PHPMailer();
    $mail->IsSMTP(true);            // use SMTP

   $mail->SMTPDebug  = 2;        // enables SMTP debug information (for testing)
                                    // 1 = errors and messages
                                    // 2 = messages only
    $mail->SMTPAuth   = true;                  // enable SMTP authentication
    $mail->Host       = "email-smtp.us-west-2.amazonaws.com"; // Amazon SES server, note "tls://" protocol
    $mail->Port       = 465;                    // set the SMTP port
    $mail->Username   = "*************";  // SES SMTP  username
    $mail->Password   = "*****************";  // SES SMTP password

    $mail->SetFrom($from, 'First Last');
    $mail->AddReplyTo($from,'First Last');
    $mail->Subject    = $subject;
    $mail->MsgHTML($body);
    $address = $to;
    $mail->AddAddress($address, $to);

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

我遇到以下错误

    SMTP -> FROM SERVER:
    SMTP -> FROM SERVER:
    SMTP -> ERROR: EHLO not accepted from server:
    SMTP -> FROM SERVER:
    SMTP -> ERROR: HELO not accepted from server:
    SMTP -> ERROR: AUTH not accepted from server:
    SMTP -> NOTICE: EOF caught while checking if connectedSMTP Error: Could not authenticate. Mailer Error: SMTP Error: Could not authenticate.

我在代码中写错了什么?

#1楼 票数:0

// Sending email with SMTP configured 
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->Mailer = 'smtp';
$mail->SMTPAuth = true;
$mail->Host = 'smtp.gmail.com'; // "ssl://smtp.gmail.com" didn't worked
$mail->Port = 465;
$mail->SMTPSecure = 'ssl';
$mail->Username = "*****@gmail.com";  //enter your email username
$mail->Password = "***********";  //enter your Password

$mail->IsHTML(true); // if you are going to send HTML formatted emails
$mail->SingleTo = true; // if you want to send a same email to multiple users. multiple emails will be sent one-by-one.

$mail->From = "info@***.ca";
$mail->FromName = "From name";
$mail->AddAddress($email);
$mail->Subject = "Sales";
$mail->Body = "<html><head> </head><body style='width:700px;'>";

// your content here
.
.   
.
.
.
$mail->Body .="</body></html>"; 

if(!$mail->Send())
{
 echo "mail not send";
}
else 
{
 echo "mail sent";
}

  ask by karthik translate from so

未解决问题?本站智能推荐:

1回复

Amazon EC2上的PHPMailer的Beanstalkd / Pheanstalk

我想实现一种排队机制,以通过Amazon EC2上的PHPMailer发送电子邮件。 我已经在服务器上正确设置了Beanstalkd,并且可以通过控制台访问它。 邮件似乎没有通过(尝试示例代码的各种组合)。 另外,我还需要设置一个cron作业来调用生产者或使用者文件之一吗? 是否有人为Amazon
2回复

在AWS AMI实例上使用PHPMailer发送邮件时出现问题

我是UNIX的新手,来自Windows背景。 我已经在Amazon EC2上创建了一个实例,并安装了Apache,PHP和MySQl。 我已经成功上传了PHP网站的文件。 一切正常,除非我在从联系表发送邮件时遇到问题。 我在这里浏览了AWS教程: https : //docs.aws
3回复

PHP向Amazon SES发送大量电子邮件

我有一个在线软件,可以向Amazon SES发送电子邮件。 目前我有一个cron作业,通过SMTP发送电子邮件与phpmailer发送消息。 目前我必须将发送限制最大限制为每分钟300左右,以确保我的服务器没有超时。 我们看到增长,最终我想发送到10,000或更多。 有没有更好的方式
3回复

PHPMailer 电子邮件发送成功但未收到 (EC2)

我在 EC2 上使用 PHPMailer。 我的帐户不在沙箱中,我从经过验证的电子邮件发送。 我没有从 PHPMailer 收到错误,这就是我的日志 这是我的 PHPMailer 设置 我尝试将其发送到不同的电子邮件,但仍然无法正常工作。 这是发送的实际代码
1回复

PHPMailer无法使用ec2发送发送电子邮件

我正在使用PHPmailer发送帐户验证邮件,但是正在使用AWS ec2实例,但是该邮件程序在localhost中工作正常,但是当我将其上传到服务器电子邮件时却没有用,起初,我使用SendGrid凭据发送电子邮件,失败,然后尝试Gmail SMTP ,失败,并且在某处我看到ec2无法发送电子邮件
2回复

Amazon SES - 未验证电子邮件地址错误 - 已启用生产访问权限

我使用phpmailer发送带有来自Amazon SES凭据的SMTP邮件。 我得到以下错误。 我在SES上的生产访问已启用。
1回复

Send_Mail()在Amazon EC2 Server的while循环中不起作用

我正在尝试将自动生成的邮件发送给选择该选项的用户。 现在,下面的代码仅针对其收到的第一个值发送邮件。 其余值不发送邮件。 邮件代码仅首次执行并中断。 之后不回显结果。 它显示的错误: 致命错误:无法在第40行的/var/www/html/class.phpmailer.php中重新声明
3回复

Amazon EC2/SES SMTP 超时

我在尝试使用 SMTP 从我的 EC2 实例向 SES 发送电子邮件时遇到问题。 出于某种原因,我遇到了偶发的超时问题,我无法再联系 SMTP 主机。 重要的是要注意,通过 SES 发送可能有 75% 的时间。 我将从一些细节开始。 我的 SES 帐户大部分时间都在工作。 发件人邮箱已经验证,我的