测试邮件服务器和 Papercut 需要 php.ini sendmail_from 吗?

我有安装了 XAMPP 的 Windows 10。我想看看我的选择是什么,用于测试使用 PHP mail() 函数离线发送电子邮件以进行开发和测试。我在 Windows 上找到了三种方法来做到这一点,它们是...


XAMPP + 测试邮件服务器工具 XAMPP + Papercut XAMPP 配置了mailtodesk


我尝试了两种不同的 PHP 脚本。一个是简单的 PHP mail() 脚本



mail('me@mail.com', 'MySubject', 'Message 123...');


?>

另一个是更高级的 PHP mail() 使用和制作 HTML 电子邮件。


<?php

$to = "somebody@example.com, somebodyelse@example.com";

$subject = "HTML email";


$message = "

<html>

<head>

<title>HTML email</title>

</head>

<body>

<p>This email contains HTML Tags!</p>

<table>

<tr>

<th>Firstname</th>

<th>Lastname</th>

</tr>

<tr>

<td>John</td>

<td>Doe</td>

</tr>

</table>

</body>

</html>

";


// Always set content-type when sending HTML email

$headers = "MIME-Version: 1.0" . "\r\n";

$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";


// More headers

$headers .= 'From: <webmaster@example.com>' . "\r\n";

$headers .= 'Cc: myboss@example.com' . "\r\n";


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

?>


出于某种原因,我需要从 php.ini 中的 sendmail_from 行中删除分号,以便第一个 PHP 脚本与测试邮件服务器工具和 Papercut 一起使用。如果我不删除分号,则会出现以下错误。


Warning: mail(): Bad Message Returns Path in C:\xampp\htdocs\mailtestbasic.php on line 3


为什么是这样?当我在 XAMPP 中设置 mailtodisk 时,我没有收到此错误,第二个 PHP 脚本也没有收到此错误。


波斯汪
浏览 132回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP