我有一个托管在godaddy linux共享主机上的PHP代码
我的脚本是向我的域发送电子邮件,但不是外部域。
我可以从hotmail向我的域发送电子邮件,但无法从我的域发送电子邮件到hotmail。
我的域名未列为垃圾邮件
这是我在发送到我的域时正在使用的PHP代码。
headers = "From: webmaster@mydomain.com \n";
$headers .= 'X-Mailer: PHP/' . phpversion();
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=iso-8859-1\n";
mail($email, $subject, $txt, $headers)
那为什么不能在我的域外交付?
我可以使用脚本发送电子邮件,但只能在我自己的地址上发送。 me@myserver.com。当我收到它时,来自地址是错误的。它不是我在标题中包含的那个
答案 0 :(得分:0)
我猜测您在发送之前未使用身份验证电子邮件(使用SMTP)。这通常被邮件服务器阻止,因为它无法验证实际电子邮件的来源。尝试通过Godaddy服务器使用您的SMTP凭据验证您的电子邮件,看看是否能修复它。
答案 1 :(得分:0)
Linux共享主机帐户中包含两个非CGI表单邮件程序 默认文件:webformmailer.php和gdform.php。他们住在 您的主机帐户的根目录。纳入其中任何一个 脚本进入您的网站创建一个表单来捕获用户信息 并通过电子邮件发送到指定的地址
要使用他们的PHP表单邮件程序,您必须指定一个电子邮件地址,您希望将表单的内容发送到该地址。
表格邮寄不能从@ aol.com,@ gmail.com,@ hotmail.com发送, @ msn.com,或@ yahoo.com地址。
指定表单邮件程序的电子邮件地址
有关详情,请参阅此page
<强> UPDATE :: 强>
最好的办法是检查GoDaddy在主机上有哪些PEAR扩展,如果他们有 PEAR邮件,你可以使用它。如果没有,那么您应该尝试使用经过身份验证的邮件发送。
<?php
include('Mail.php');
$recipients = 'joe@example.com';
$headers['From'] = 'richard@example.com';
$headers['To'] = 'joe@example.com';
$headers['Subject'] = 'Test message';
$body = 'Test message';
$params['sendmail_path'] = '/usr/lib/sendmail';
// Create the mail object using the Mail::factory method
$mail_object =& Mail::factory('sendmail', $params);
$mail_object->send($recipients, $headers, $body);
?>
Mail::send() - 发送邮件