PHP电子邮件问题仅在我的域中运行

时间:2016-04-10 17:27:17

标签: php email

我有一个托管在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。当我收到它时,来自地址是错误的。它不是我在标题中包含的那个

2 个答案:

答案 0 :(得分:0)

我猜测您在发送之前未使用身份验证电子邮件(使用SMTP)。这通常被邮件服务器阻止,因为它无法验证实际电子邮件的来源。尝试通过Godaddy服务器使用您的SMTP凭据验证您的电子邮件,看看是否能修复它。

答案 1 :(得分:0)

来自documentation

  

Linux共享主机帐户中包含两个非CGI表单邮件程序   默认文件:webformmailer.php和gdform.php。他们住在   您的主机帐户的根目录。纳入其中任何一个   脚本进入您的网站创建一个表单来捕获用户信息   并通过电子邮件发送到指定的地址

为PHP FORM MAILER指定电子邮件地址

要使用他们的PHP表单邮件程序,您必须指定一个电子邮件地址,您希望将表单的内容发送到该地址。

  

表格邮寄不能从@ aol.com,@ gmail.com,@ hotmail.com发送,   @ msn.com,或@ yahoo.com地址。

指定表单邮件程序的电子邮件地址

  1. 登录您的GoDaddy帐户。
  2. 点击网页寄存。
  3. 在您要使用的主机帐户旁边,点击管理。
  4. 在“主机控制面板”的“工具”部分中,单击“表单” 邮件图标。
  5. 在“表单电子邮件地址”部分下,键入您的电子邮件地址 想和你的邮政编码一起使用。
  6. 点击继续。
  7. 确认这是您要用于的地址 表格邮件,然后点击更新。
  8. 有关详情,请参阅此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() - 发送邮件