Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何发送电子邮件';是通过godaddy和PHPMailer?_Php - Fatal编程技术网

如何发送电子邮件';是通过godaddy和PHPMailer?

如何发送电子邮件';是通过godaddy和PHPMailer?,php,Php,我尝试了几天通过godaddy帐户从我的网站发送电子邮件。 我不知道服务器端是否有任何特殊配置(godaddy) 我不知道我的php代码是否也有错误。 我真的需要弄清楚如何发送电子邮件。 谢谢,里卡多 enter code here try { //Create a new PHPMailer instance $mail = new PHPMailer(); $mail->isSMTP(); //Enable S

我尝试了几天通过godaddy帐户从我的网站发送电子邮件。 我不知道服务器端是否有任何特殊配置(godaddy) 我不知道我的php代码是否也有错误。 我真的需要弄清楚如何发送电子邮件。 谢谢,里卡多

enter code here
    try {

        //Create a new PHPMailer instance
        $mail = new PHPMailer();

        $mail->isSMTP();
        //Enable SMTP debugging
        // 0 = off (for production use)
        // 1 = client messages
        // 2 = client and server messages
        $mail->SMTPDebug   = 2;
        $mail->DKIM_domain = '**********';

        $mail->Debugoutput = 'html';

        $mail->Host        = "a2plcpnl0321.prod.iad2.secureserver.net";

        $mail->Port        = 465;

        $mail->SMTPAuth    = true;
        //Username to use for SMTP authentication
        $mail->Username    = "***************.com";
        //Password to use for SMTP authentication
        $mail->Password    = "**99KKll";
        $mail->SMTPSecure  = 'ssl';
        //Set who the message is to be sent from
        $mail->setFrom('****************.com', '*******');
        //Set an alternative reply-to address
        //$mail->addReplyTo('replyto@example.com', 'First Last');
        //Set who the message is to be sent to
        $mail->addAddress('**************.com', '*****');

        //Set the subject line
        $mail->Subject = 'PHPMailer SMTP test';
        $mail->Body = "<i>This is the Link to change your password:</i>";
        //Replace the plain text body with one created manually
        $mail->AltBody = 'This is a plain-text message body';


        //send the message, check for errors
        if (!$mail->send()) {
            echo "Mailer Error: " . $mail->ErrorInfo;
        } else {
            echo "Message sent!";
        } 
        print_r($mail); 
在此处输入代码
试一试{
//创建新的PHPMailer实例
$mail=new PHPMailer();
$mail->isSMTP();
//启用SMTP调试
//0=关闭(用于生产使用)
//1=客户端消息
//2=客户端和服务器消息
$mail->SMTPDebug=2;
$mail->DKIM_域='*********';
$mail->Debugoutput='html';
$mail->Host=“a2plcpnl0321.prod.iad2.secureserver.net”;
$mail->Port=465;
$mail->SMTPAuth=true;
//用于SMTP身份验证的用户名
$mail->Username=“******************.com”;
//用于SMTP身份验证的密码
$mail->Password=“**99KKll”;
$mail->SMTPSecure='ssl';
//设置要从谁发送消息
$mail->setFrom('***************.com','*********');
//将替代答复设置为地址
//$mail->addReplyTo('replyto@example.com","最后一次",;
//设置要向谁发送邮件
$mail->addAddress('***************.com','*****');
//设置主题行
$mail->Subject='PHPMailer SMTP测试';
$mail->Body=“这是更改密码的链接:”;
//将纯文本正文替换为手动创建的正文
$mail->AltBody='这是一个纯文本消息正文';
//发送消息,检查错误
如果(!$mail->send()){
回显“邮件错误:”.$mail->ErrorInfo;
}否则{
回显“已发送消息!”;
} 
打印(邮件);

您是否捕捉到错误

try {
    // your mail code
    // $mail->send();
} catch (phpmailerException $e) {
    echo $e->errorMessage(); //Pretty error messages from PHPMailer
} catch (Exception $e) {
    echo $e->getMessage(); //Boring error messages from anything else!
}
SERVER->CLIENT:220-a2plcpnl0321.prod.iad2.secureserver.net ESMTP Exim 4.85#2 Fri,2016年2月26日16:15:57-0700 220我们不授权使用此系统传输未经请求的220和/或批量电子邮件。
客户端->服务器:EHLO warneracademy.com
服务器->客户端:250-a2plcpnl0321.prod.iad2.secureserver.net您好a2plcpnl0321.prod.iad2.secureserver.net[**************]250-SIZE 52428800250-8bitmeme250-pipeling250-AUTH普通登录250帮助
客户端->服务器:身份验证登录
服务器->客户端:334 VXNlcm5hbWU6
客户端->服务器:cmVxdWVzdEB3YXJuZXJhY2FkZW15LmNvbQ==
服务器->客户端:334 UGFzc3dvcmQ6
客户端->服务器:Kio5OUtLbGw=
服务器->客户端:235身份验证成功
客户端->服务器:邮件发件人:
服务器->客户端:250确定
客户端->服务器:RCPT到:
服务器->客户端:250已接受
客户端->服务器:数据
服务器->客户端:354输入消息,在一行上以“.”结尾
客户->服务器:日期:2016年2月26日星期五23:15:52+0000
客户端->服务器:收件人:Ricardo Scarpim
客户端->服务器:发件人:WarnerAcademy
客户端->服务器:主题:PHPMailer SMTP测试
客户端->服务器:消息ID:
客户端->服务器:X-Mailer:PHPMailer 5.2.13(https://github.com/PHPMailer/PHPMailer)
客户端->服务器:MIME版本:1.0
客户端->服务器:内容类型:多部分/可选;
客户端->服务器:boundary=“b1_5fa4a06963e5c2e64a8e88e553bc10”
客户端->服务器:内容传输编码:8比特
客户端->服务器:
客户端->服务器:这是MIME格式的多部分消息。
客户端->服务器:
客户端->服务器:--b1_5fa4a06963e0e5c2e64a8e88e553bc10
客户端->服务器:内容类型:文本/普通;字符集=美国ascii
客户端->服务器:
客户端->服务器:这是一个纯文本消息正文
客户端->服务器:
客户端->服务器:
客户端->服务器:--b1_5fa4a06963e0e5c2e64a8e88e553bc10
客户端->服务器:内容类型:text/html;字符集=us ascii
客户端->服务器:
客户端->服务器:这是更改密码的链接:
客户端->服务器:
客户端->服务器:
客户端->服务器:
客户端->服务器:--b1_5fa4a06963e0e5c2e64a8e88e553bc10--
客户端->服务器:
客户端->服务器:。
服务器->客户端:250正常id=1aZRc5-001CJG-Tk
客户端->服务器:退出
服务器->客户端:221 a2plcpnl0321.prod.iad2.secureserver.net关闭连接
消息已发送!

经过多次尝试……这对我在Godaddy的工作很有效[20/12/2017]

require 'PHPMailerAutoload.php';
$mail = new PHPMailer();
//$mail->isSMTP();                                      
//isSMTP seems to be the problem..  because it sends locally
$mail->SMTPDebug   = 0;
//$mail->DKIM_domain = '127.0.0.1';
$mail->Host       = "localhost";
$mail->Port       = "25";
$mail->SMTPSecure = "none";
$mail->SMTPAuth   = false;
$mail->Username   = "";
$mail->Password   = "";

我知道这并不是原始帖子所要寻找的解决方案,但对于任何正在处理通过GoDaddy或任何其他托管服务发送电子邮件的限制的人来说,这可能是一个有用的解决方法。此解决方案将允许你通过Gmail从你拥有登录凭据的任何其他帐户发送电子邮件

要求: Gmail帐户、XAMPP或类似的本地web服务器、PHPMailer库 (关于如何使用XAMPP和PHPMailer的教程在网上大量提供)

说明: 1.进入你的Gmail账户的“设置”。在“账户和导入”下,添加youraccount@domainyouown.com“将邮件发送为”部分中的。 2.在您的PHP脚本中(使用PHPMailer库),将以下代码行中的凭据替换为您的Gmail凭据和您希望从中发送的帐户:

$mail->Username = 'username@gmail.com';
$mail->Password = 'yourpassword';
$mail->setFrom('youraccount@domainyouown.com', 'Your Name');
$mail->addReplyTo('youraccount@domainyouown.com', 'Your Name');
此方法的附加好处:

  • 电子邮件是经过验证的。。我花了很长时间试图通过GoDaddy实现这一点,但没有成功。这将删除通过托管服务器中继发送的电子邮件中有时出现的“可能的垃圾邮件”通知
  • 电子邮件发送速度更快。无论出于何种原因,我使用PHP的mail()函数通过GoDaddy发送的电子邮件只需几分钟即可完成。Gmail只需几秒钟
  • 您发送的电子邮件副本实际上会显示在您的Gmail“send”文件夹中。这也是我无法通过GoDaddy实现的,客户支持人员告诉我这是服务的一个限制

  • 如果我在这些问题上有任何错误,请随时纠正我,或者建议一个更好的方法。这是我迄今为止找到的最优雅的解决方案!

    因此……
    $mail->ErrorInfo
    不会产生任何效果?p
    $mail->Username = 'username@gmail.com';
    $mail->Password = 'yourpassword';
    $mail->setFrom('youraccount@domainyouown.com', 'Your Name');
    $mail->addReplyTo('youraccount@domainyouown.com', 'Your Name');