php - 无法在 wamp64 中使用 mail() 或 phpmailer 通过 php 发送邮件
问题描述
我正在创建一个登录页面。为此,注册后我需要将邮件发送给用户进行验证。因此,我需要发送邮件。要发送邮件,我尝试了这样的 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 天我正在尝试这个。我无法做到这一点。
有人可以帮我解决这个问题吗?
解决方案
首先,如果您在生产服务器上使用脚本,请询问您的管理员邮件功能是否处于活动状态。有时在生产服务器上它被站点管理员阻止。
其次,如果您在 localhost 服务器上使用此脚本意味着在您的桌面上,那么首先您必须使用邮件服务器启动。
例如,我正在考虑您在 Windows 上使用 XAMMPP,那么您必须从 XAMPP 控制面板 启动Mercury 邮件服务器。Mercury默认带有postmaster和newuser两个用户。
然后,您必须下载Mozilla Thunderbird邮件客户端,并按照Create New account > email using the newuser@localhost 并手动配置 pop 和 smtp 服务器和端口,在邮件客户端中配置 newuser和postmaster用户。通常是默认端口。
你可以使用sendmail_from ="newuser@localhost"
然后检查Mercury Mail 服务器是否正在运行,然后测试您的脚本。
它将发送邮件,然后您在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 术语,例如“在 PHP 中通过 Gmail 发送电子邮件”
推荐阅读
- c# - 从 Razor 视图返回列表到操作
- objective-c - 在 ObjC 类别中声明属性会覆盖在公共接口上声明的同名属性吗?
- reactjs - 组件的渲染方法应该有返回类型 React.ReactNode 还是 JSX.Element?
- angular - 在多个 MatSelect 中,重新启用的复选框显示为已禁用
- javascript - 找到离原点最近的 K 个点 (0, 0)
- php - Laravel: can't login user after revoke token in api testst
- python - 如何使用海龟模块绘制斐波那契数列
- r - 带有 For 循环的子集列表
- python - 如何在过滤掉某些值的同时对列表列表进行排序?
- python-3.x - pytorch加载模型不同的softmax概率