wp_mail没有使用MAMP在localhost上工作

时间:2014-03-07 15:22:48

标签: php wordpress email

我正在尝试让wp_mail函数向自己发送一封电子邮件,但出于某种原因,我无法让它发挥作用。有人可以帮帮我吗?

这是我的基本脚本......

$to = "someone@gmail.com";
$subject = 'wp_mail function test';
$message = 'This is a test of the wp_mail function: wp_mail is working';
$headers = "From: Blog Name <admin@myemail.com> \r\n";

if ( $sent = wp_mail( $to, $subject, $message, $headers ) )
    echo 'The test message was sent. Check your email inbox.';
else
    echo 'The message was not sent!';

如果我是var_dump($ phpmailer),那么我得到以下内容......

object(PHPMailer)[288]
  public 'Priority' => int 3
  public 'CharSet' => string 'UTF-8' (length=5)
  public 'ContentType' => string 'text/plain' (length=10)
  public 'Encoding' => string '8bit' (length=4)
  public 'ErrorInfo' => string '' (length=0)
  public 'From' => string 'admin@myemail.com' (length=17)
  public 'FromName' => string 'Blog Name' (length=9)
  public 'Sender' => string '' (length=0)
  public 'ReturnPath' => string '' (length=0)
  public 'Subject' => string 'wp_mail function test' (length=21)
  public 'Body' => string 'This is a test of the wp_mail function: wp_mail is working' (length=58)
  public 'AltBody' => string '' (length=0)
  protected 'MIMEBody' => string 'This is a test of the wp_mail function: wp_mail is working
' (length=59)
  protected 'MIMEHeader' => string 'Date: Fri, 7 Mar 2014 15:19:55 +0000
Return-Path: admin@myemail.com
From: Blog Name <admin@myemail.com>
Message-ID: <ebf10bab4b57a811f54fe004e70a5a73@tp.dev>
X-Priority: 3
X-Mailer: PHPMailer 5.2.4 (http://code.google.com/a/apache-extras.org/p/phpmailer/)
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain; charset=UTF-8
' (length=346)
  protected 'mailHeader' => string 'To: someone@gmail.com
Subject: wp_mail function test
' (length=53)
  public 'WordWrap' => int 0
  public 'Mailer' => string 'mail' (length=4)
  public 'Sendmail' => string '/usr/sbin/sendmail' (length=18)
  public 'UseSendmailOptions' => boolean true
  public 'PluginDir' => string '' (length=0)
  public 'ConfirmReadingTo' => string '' (length=0)
  public 'Hostname' => string '' (length=0)
  public 'MessageID' => string '' (length=0)
  public 'MessageDate' => string '' (length=0)
  public 'Host' => string 'localhost' (length=9)
  public 'Port' => int 25
  public 'Helo' => string '' (length=0)
  public 'SMTPSecure' => string '' (length=0)
  public 'SMTPAuth' => boolean false
  public 'Username' => string '' (length=0)
  public 'Password' => string '' (length=0)
  public 'AuthType' => string '' (length=0)
  public 'Realm' => string '' (length=0)
  public 'Workstation' => string '' (length=0)
  public 'Timeout' => int 10
  public 'SMTPDebug' => boolean false
  public 'Debugoutput' => string 'echo' (length=4)
  public 'SMTPKeepAlive' => boolean false
  public 'SingleTo' => boolean false
  public 'SingleToArray' => 
    array (size=0)
      empty
  public 'LE' => string '
' (length=1)
  public 'DKIM_selector' => string '' (length=0)
  public 'DKIM_identity' => string '' (length=0)
  public 'DKIM_passphrase' => string '' (length=0)
  public 'DKIM_domain' => string '' (length=0)
  public 'DKIM_private' => string '' (length=0)
  public 'action_function' => string '' (length=0)
  public 'Version' => string '5.2.4' (length=5)
  public 'XMailer' => string '' (length=0)
  protected 'smtp' => null
  protected 'to' => 
    array (size=1)
      0 => 
        array (size=2)
          0 => string 'someone@gmail.com' (length=17)
          1 => string '' (length=0)
  protected 'cc' => 
    array (size=0)
      empty
  protected 'bcc' => 
    array (size=0)
      empty
  protected 'ReplyTo' => 
    array (size=0)
      empty
  protected 'all_recipients' => 
    array (size=1)
      'someone@gmail.com' => boolean true
  protected 'attachment' => 
    array (size=0)
      empty
  protected 'CustomHeader' => 
    array (size=0)
      empty
  protected 'message_type' => string 'plain' (length=5)
  protected 'boundary' => 
    array (size=3)
      1 => string 'b1_ebf10bab4b57a811f54fe004e70a5a73' (length=35)
      2 => string 'b2_ebf10bab4b57a811f54fe004e70a5a73' (length=35)
      3 => string 'b3_ebf10bab4b57a811f54fe004e70a5a73' (length=35)
  protected 'language' => 
    array (size=0)
      empty
  protected 'error_count' => int 0
  protected 'sign_cert_file' => string '' (length=0)
  protected 'sign_key_file' => string '' (length=0)
  protected 'sign_key_pass' => string '' (length=0)
  protected 'exceptions' => boolean true    

它总是说电子邮件已发送但没有电子邮件到达。

希望有人可以帮助我!!!

4 个答案:

答案 0 :(得分:3)

我总是使用WP Mail SMTP插件并将其配置为通过localhost上的gmail帐户发送电子邮件,然后当我转到生产时,我只是删除插件。

答案 1 :(得分:1)

不幸的是,所有php邮件功能都无法在localhost上运行...

因为LOCALHOST SERVER上不存在SMTP服务器...

我建议你为你的本地主机下载一个SMTP服务器来使用wp-mail

答案 2 :(得分:0)

答案 3 :(得分:0)

XAMPP与内置的sendmail包一起使用。

在php.ini中找到extension=php_openssl.dll并删除分号以启用SSL,然后

php.ini中的

找到[mail function]

SMTP=smtp.gmail.com
smtp_port=587
sendmail_from = my-gmail-id@gmail.com
sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"

然后在xampp中找到\sendmail\sendmail.ini

[sendmail]

smtp_server=smtp.gmail.com
smtp_port=587
error_logfile=error.log
debug_logfile=debug.log
auth_username=gmail_id@gmail.com
auth_password=gmail-password
force_sender=gmail_id@gmail.com

这样做你可以通过gmail从localhost发送邮件......