【问题标题】:The following From address failed: xxxx@example.com: Called Mail() without being connected以下发件人地址失败:xxxx@example.com:在未连接的情况下调用 Mail()
【发布时间】:2014-02-16 22:42:45
【问题描述】:

我在 WordPress 尝试发送 SMTP 邮件时收到此错误消息。

The following From address failed: xxxx@example.com: Called Mail() without being connected

这是我放置的代码

 include_once( ABSPATH . "/wp-includes/class-phpmailer.php");
                $mail = new PHPMailer();
                $mail->IsSMTP();
                $mail->SMTPAuth   = true;
                $mail->Host       = $host;
                $mail->Username   = $username;
                $mail->Password   = $pass;
                $mail->Port       = $port;
                $mail->SMTPSecure = 'none';
                $mail->SetFrom($email);
                $mail->AddAddress("email@example.com");
                $mail->Subject = "Contact Us Form";
                $mail->MsgHTML("")

【问题讨论】:

  • 您是否替换了 $host、$username 等变量?
  • 是的,我做到了,但它仍然不起作用。让我再试一次……
  • 还是不行……嗯

标签: php wordpress email


【解决方案1】:

尝试按照PhPMailer example如下更改您的代码:

require_once('../class.phpmailer.php'); //make sure this path is correct
//include("class.smtp.php"); // optional, gets called from within class.phpmailer.php if not already loaded

$mail             = new PHPMailer();

$body             = file_get_contents('contents.html');
$body             = eregi_replace("[\]",'',$body);

$mail->IsSMTP(); // telling the class to use SMTP
$mail->Host       = "mail.yourdomain.com"; // SMTP server
$mail->SMTPDebug  = 2;                     // enables SMTP debug information (for testing)
                                           // 1 = errors and messages
                                           // 2 = messages only
$mail->SMTPAuth   = true;                  // enable SMTP authentication
$mail->Host       = "mail.yourdomain.com"; // sets the SMTP server
$mail->Port       = 26;                    // set the SMTP port for the GMAIL server
$mail->Username   = "yourname@yourdomain"; // SMTP account username
$mail->Password   = "yourpassword";        // SMTP account password

$mail->SetFrom('name@yourdomain.com', 'First Last');

$mail->AddReplyTo("name@yourdomain.com","First Last");

$mail->Subject    = "PHPMailer Test Subject via smtp, basic with authentication";

$mail->AltBody    = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test

$mail->MsgHTML($body);

$address = "whoto@otherdomain.com";
$mail->AddAddress($address, "John Doe");

$mail->AddAttachment("images/phpmailer.gif");      // attachment
$mail->AddAttachment("images/phpmailer_mini.gif"); // attachment

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-18
    • 1970-01-01
    • 2015-10-24
    • 1970-01-01
    • 1970-01-01
    • 2016-06-16
    相关资源
    最近更新 更多