php mail()from godaddy server

ldioqlga  于 5个月前  发布在  PHP
关注(0)|答案(6)|浏览(76)

我使用godaddy托管我的网站,并使用默认的godaddy邮件服务。现在,我想发送电子邮件使用php邮件功能,从我的15个电子邮件地址,我的godaddy的电子邮件帐户的其他电子邮件地址之一
我如何修复从哪个电子邮件地址电子邮件将被发送,以及如何放置的电子邮件地址的用户名和密码?
谢谢

ckx4rj1h

ckx4rj1h1#

PHP mail函数使用为该网站主机配置的邮件服务器。您无法更改这一点。由于godaddy控制邮件服务器,因此它们控制它发送的邮件头。您可以尝试插入自定义From邮件头,但我怀疑这是否有效。它要么被修改,标记为垃圾邮件,要么被拒绝。
如果你在godaddy有15个账户,也许是时候寻找一个更严肃的托管解决方案了?

fnvucqvd

fnvucqvd2#

不要使用mail()函数,它只是调用操作系统的邮件函数(即sendmail),尝试像SwiftMail(免费的PHP邮件库)。它支持许多不同的发送邮件的方式,包括登录邮件帐户和发送电子邮件,就像你从自己的电脑上做的那样。如果你愿意,你甚至可以从gmail帐户发送电子邮件。
http://swiftmailer.org/

wnvonmuf

wnvonmuf3#

我使用godaddy托管。只是保持一些领域空白,并发送邮件,它会工作。请参阅下面的代码为我工作。

<?php
include("class.phpmailer.php");
function sendMail($address,$username,$body){
            $mail = new PHPMailer();
            $mail->IsSMTP(); // telling the class to use SMTP
            //$mail->Host       = "smtp.gmail.com"; // SMTP server
            $mail->SMTPDebug  = 1;                     // enables SMTP debug information (for testing)
                                // 1 = errors and messages
                                                                           // 2 = messages only
            // $mail->SMTPAuth   = true;                  // enable SMTP authentication
            // $mail->SMTPSecure = "ssl";                 // sets the prefix to the servier
            // $mail->Host       = "smtp.gmail.com";      // sets  as the SMTP server
            // $mail->Port       = 465;                   // set the SMTP port for the server
            // $mail->Username   = "[email protected]";  // username
            // $mail->Password   = "test121232";            // password

            $mail->SetFrom('[email protected]', 'Contact');

            $mail->Subject    = "Enquiry for tour and travels package";


            $mail->MsgHTML($body);

            $address = $address;
            $mail->AddAddress($address, $username);
            $mail->AddCC('[email protected]');

            if(!$mail->Send()) {
            echo "Mailer Error: " . $mail->ErrorInfo;
            } else {
            echo "Message sent!";
            }
}

?>

字符串
刚刚从电子邮件地址更改,所以你可以通过这个电子邮件ID发送邮件.

$mail->SetFrom('[email protected]', 'Contact');

z8dt9xmd

z8dt9xmd4#

我在几个客户端帐户上遇到过这个问题。经过多次尝试,我发现你使用什么电子邮件应用程序或代码并不重要。我最后比较了两个帐户。一个是我知道从PHP发送电子邮件的帐户,另一个不是。我发现的区别是:
工作帐户在域上有以下2个dns条目:

  • CNAME / mail / @
  • MX / @ /mail.yourdomainname.com

以及在CPanel区域编辑器中设置的MX条目:

  • 目的地:yourdomainname.com

这个帐户没有工作是相同的,除了它没有上面提到的CNAME条目。我添加了它,等待了几分钟,并再次测试了我的代码,我终于开始接收来自我的代码的电子邮件!

p4tfgftt

p4tfgftt5#

这一个为我工作。
我问了Godaddy和支持,他们告诉我使用中继。所以我没有使用mail()函数,而是使用PHPMailer。请检查下面的PHP Mailer配置。

$mail = new PHPMailer;
$mail->isSMTP(); 
$mail->SMTPDebug = 2; 
$mail->Host = "relay-hosting.secureserver.net";
$mail->Port = 25;
$mail->setFrom('[email protected]', 'From Mail');
$mail->addAddress('[email protected]', 'To Mail');
$mail->Subject = 'PHPMailer GMail SMTP test';
$mail->msgHTML("test body 123"); 
$mail->AltBody = 'HTML messaging not supported'; 

if(!$mail->send()){
    echo "Mailer Error: " . $mail->ErrorInfo;
}else{
    echo "Message sent!";
}

字符串
注意:这里email protected(https://stackoverflow.com/cdn-cgi/l/email-protection)是我的邮件ID,在cPanel邮件帐户中。

dl5txlt9

dl5txlt96#

首先,是网站托管与GoDaddy或你只是有他们的电子邮件托管?我们的网站托管与GoDaddy * 和 * 我们有我们的电子邮件与他们以及。
假设你有这两个,那么这将需要你的配置:

//Server settings
$mail->SMTPDebug = 0;                      
$mail->isSMTP();                           
$mail->Host = localhost;                
$mail->SMTPAuth   = false;                 
$mail->Username   = SMTP_EMAIL;            
$mail->Password   = SMTP_PASSWORD;         
$mail->SMTPSecure = 'none';
$mail->Port         = 25;

//Recipients
$mail->From = "[email protected]";
$mail->FromName = "MyGoDaddyHostedDomain";
$mail->addAddress(RECIPIENT_EMAIL, RECIPIENT_NAME);

字符串
GoDaddy向我保证,当您的网站托管在他们的网站上,并且您正在使用他们的电子邮件服务从联系表单发送邮件时,安全防范措施是不必要的。

相关问题