所以我正在尝试使用PHP的mail()函数在用户注册时发送电子邮件。但由于某种原因,它拒绝发送到公司的电子邮件。我是否缺少一些额外的参数,我需要这样的东西,或者你认为它是来自公司的电子邮件过滤掉这些电子邮件?
编辑:下面是一些代码:
$to = 'something@something.com';
$subject = 'New Web Registration';
$from = 'Quote Registration';
$headers = 'Content-type: text/html charset=iso-8859-1'r'n';
$headers .= 'From: ' . $from;
$body = '<table>
<tr>
<td style="text-align: right;">WebUserID:</td>
<td>' . $wuid . '</td>
</tr>
<tr>
<td style="text-align: right;">Name: </td>
<td>' . $regdata['Name'] . '</td>
</tr>
<tr>
<td style="text-align: right;">Company:</td>
<td>' . $regdata['Company'] . '</td>
</tr>
<tr>
<td style="text-align: right;">Address:</td>
<td>' . $regdata['Address'] . '</td>
</tr>
<tr>
<td style="text-align: right;">CSZ:</td>
<td>' . $regdata['City'] . ', ' . $regdata['State'] . ' ' . $regdata['Zip'] . '</td>
</tr>
<tr>
<td style="text-align: right;">Phone:</td>
<td>' . $regdata['Phone'] . '</td>
</tr>
<tr>
<td style="text-align: right;">Fax:</td>
<td>' . $regdata['Fax'] . '</td>
</tr>
<tr>
<td style="text-align: right;">URL:</td>
<td>' . $regdata['URL'] . '</td>
</tr>
<tr>
<td style="text-align: right;">Email:</td>
<td>' . $email . '</td>
</tr>
<tr>
<td style="text-align: right;">Comments:</td>
<td>' . $regdata['Comments'] . '</td>
</tr>
<tr>
<td style="text-align: right;">Customer Group:</td>
<td>' . $regdata['CustomerGroup'] . '</td>
</tr>
<tr>
<td style="text-align: right;">How Heard</td>
<td>' . $regdata['HowHeard'] . '</td>
</tr>
</table>';
if (!mail($to, $subject, $body, $headers)) {
echo 'Message delivery failed.';
}
它确实成功地通过电子邮件发送到其他域,例如Gmail。交货/过滤器问题?
如果它成功发送到其他域,则说明您公司的邮件服务器有问题。电子邮件可能被过滤为垃圾邮件或类似内容。
一个简单的解决方案是使用STMP,或者您可以尝试通过查看邮件服务器的日志来找出过滤的原因。
如果您以 html 形式发送,请确保发送整个 html 消息。(标签和所有)。
我为您提供发送邮件的代码。它在我的应用程序中工作正常。希望对您有所帮助。
function sendmail($username)
{
$from = "test@test.com";
$to = "mytest@test.com";
$subject = "My Test Subject";
$body = "My Test Body";
$headers .= "From:".$from ."". "'r'n";
if (mail($to ,$subject ,$body,$headers))
{
$msg = "Your message has been sent.";
}
else
{
$msg = "Error in Sending the Message. Please try again.";
}
return $msg;
}