无法使用wamp64中的mail()或phpmailer通过php发送邮件

时间:2018-05-04 10:45:54

标签: php email

我正在创建一个登录页面。为此,在注册后我需要将邮件发送给用户进行验证。因此,我需要发送邮件。要发送邮件,我尝试使用mail()函数这样,

<?php
//sending email with the php mail()
mail('mahadev.3333@gmail.com', 'Subject Line Here', 'Body of Message Here', 'From: vidya.5555@gmail.com');
?>

我已经配置了php.ini文件,如下所示,

[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = localhost
; http://php.net/smtp-port
smtp_port = 25

; For Win32 only.
; http://php.net/sendmail-from
sendmail_from ="vidya.merahkee@gmail.com"

我正在使用Windows 64位。

我也尝试过使用phpmailer。但是,我没有找到任何解决方案。因为,2天我正在尝试这个。我无法做到这一点。

有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

首先,如果您在生产服务器上使用该脚本,请询问您的管理员邮件功能是否处于活动状态。在生产服务器上有一段时间它被网站管理员阻止了。

其次,如果您在桌面上的localhost服务器上使用此脚本,那么首先必须使用邮件服务器启动。

例如我在考虑您在Windows上使用XAMMPP然后您必须从XAMPP控制面板启动 Mercury Mail Server Mercury 默认情况下包含 postmaster newuser 两个用户。

然后你必须下载 Mozilla Thunderbird 邮件客户端并配置 按照创建新帐户&gt;在邮件客户端中 newuser postmaster 用户电子邮件使用newuser @ localhost并手动配置pop和smtp服务器和端口。通常是默认端口。

您可以使用sendmail_from ="newuser@localhost"

然后检查 Mercury 邮件服务器是否正在运行,然后测试您的脚本。

它将发送邮件,然后您在 Mozilla Thunderbird 邮件客户端中进行检查。

第三次:要设置From:,您必须使用下面的header

$headers = "From: newuser < newuser@domain.com >\n";

   <?php
     $send_to      = 'postmaster@localhost';
     $mail_subject = 'Subject of Your mail';
     $message_body = 'Body of your email like message form php script.';
     $headers = 'From: newuser@localhost' . "\r\n";
     mail($send_to, $mail_subject, $message_body, $headers);

  ?>

我希望这能解决问题。

注意如果您想通过localhost向gamil或任何其他邮件站点发送电子邮件,那么您必须使用 sendmail 应用程序或更多教程搜索google Term like'通过PHP发送电子邮件“