我正在创建一个登录页面。为此,在注册后我需要将邮件发送给用户进行验证。因此,我需要发送邮件。要发送邮件,我尝试使用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天我正在尝试这个。我无法做到这一点。
有人可以帮我解决这个问题吗?
答案 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发送电子邮件“