使用 localhost 在 php 中发送电子邮件

Posted

技术标签:

【中文标题】使用 localhost 在 php 中发送电子邮件【英文标题】:Sending email in php using localhost 【发布时间】:2017-06-19 11:57:10 【问题描述】:

我在从 localhost 发送电子邮件时遇到了一些问题,需要您的帮助。这是我收到的错误消息:

警告:mail(): "sendmail_from" 未在 php.ini 或自定义 "From:" 中设置 第 22 行的 C:\xampp\htdocs\email\send_mail.php 中缺少标头。

请帮忙

【问题讨论】:

您无法从localhost 发送邮件。您必须使用具有适当设置的服务器。 @Harish Kommuri;您可以使用phpmailerlocalhost 发送邮件 请勿发布代码图片。正确发布并格式化 @RamaLingam 即使使用mail() 你仍然可以,你只需要以 ryt 方式配置它。 @Masivuye;谢谢你的回答。 【参考方案1】:

您的邮件格式错误

mail($email_address,$subject,$msg,$header);

【讨论】:

【参考方案2】:

要使用 localhost 发送电子邮件,您需要配置 localhost 以发送电子邮件。

以下步骤是使用带有xamppsendmail的localhost发送电子邮件

您可以使用 sendmail 包从本地主机发送邮件,sendmail 包在 XAMPP 中内置。因此,如果您使用的是 XAMPP,那么您可以轻松地从 localhost 发送邮件。

例如,您可以配置C:\xampp\php\php.inic:\xampp\sendmail\sendmail.ini 让gmail 发送邮件。

C:\xampp\php\php.ini find extension=php_openssl.dll 中并从该行的开头删除分号以使SSL 为本地主机的gmail 工作。

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"

将 sendmail.ini 中的所有现有代码替换为以下代码

smtp_server=smtp.gmail.com
smtp_port=587
error_logfile=error.log
debug_logfile=debug.log
auth_username=your-gmail-id@gmail.com
auth_password=your-gmail-password
force_sender=your-gmail-id@gmail.com
Then you are done :)

记得使用 XAMMP 控制面板重新启动服务器,以使更改生效。快乐编码:)

顺便说一下你的邮件功能不正确

应该是

mail($to,$subject,$message,$headers);

【讨论】:

以上是关于使用 localhost 在 php 中发送电子邮件的主要内容,如果未能解决你的问题,请参考以下文章

apache_conf 使用PHPMailer在PHP中发送电子邮件

在 CodeIgniter 中发送电子邮件

在测试 php 以在 xampp 中发送电子邮件验证时遇到问题

php smtp 无法在 ubuntu 服务器中发送电子邮件

在 Xampp 中发送电子邮件

我正在使用 gmail 服务器在我的 xampp lite 服务器中发送电子邮件,但我没有收到任何电子邮件