开发者

php mail() from godaddy server

I'm using godaddy for hosting my site and using default godaddy mail service. Now i want to sent email using php mail function to other email a开发者_开发技巧ddress from my 1 of my 15 email address of my godaddy's email accounts

How can i fix that from which email address email will be sent and how to place the username and password for the email address ?

Thanks


The PHP mail function uses the mailserver configured for that webhost. You can't change that. Since godaddy controls the mailserver they control what headers it sends. You could try inserting a custom From header but I doubt that will work. It will either get modified, flagged as spam, or rejected.

If you have 15 accounts at godaddy, perhaps it's time to look for a more serious hosting solution?


Instead of using the mail() function, which just calls the OS mail function (i.e. sendmail), try something like SwiftMail (free PHP mail library). It support many different ways of sending mail, including logging into a mail account and sending email, just like you would do from your own computer. You could even send email from a gmail account if you wanted.

http://swiftmailer.org/


I am using godaddy hosting . Just keep some fields blank and send mail it will work . please see below code its working for me.

<?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   = "xyz@gmail.com";  // username
            // $mail->Password   = "test121232";            // password

            $mail->SetFrom('contact@example.co.in', 'Contact');

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



            $mail->MsgHTML($body);

            $address = $address;
            $mail->AddAddress($address, $username);
            $mail->AddCC('contact@example.co.in');

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

?>

just changed from email address, so you can send mail through this email id.

$mail->SetFrom('youremail@example.co.in', 'Contact');


I've had this issue on a couple of client accounts. After MUCH playing around, I found that it didn't matter what email app or code you use. I finally compared two accounts. One where I know email sends from PHP, and one where it doesn't. The difference I found was:

Working account had these 2 dns entries on the domain:

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

And the MX Entry set within CPanel Zone Editor of:

  • Destination: yourdomainname.com

The account that was NOT working was the same, except it did not have the CNAME entry mentioned above. I added it, waited a few minutes and tested my code again and I finally started receiving the emails from my code!


This one worked for me.

I asked Godaddy and support they told me to use relays. So Instead of using mail() function, I used PHPMailer. Kindly check below the configuration for PHP Mailer.

$mail = new PHPMailer;
$mail->isSMTP(); 
$mail->SMTPDebug = 2; 
$mail->Host = "relay-hosting.secureserver.net";
$mail->Port = 25;
$mail->setFrom('from@mail.com', 'From Mail');
$mail->addAddress('to@mail.com', '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!";
}

Note: Here from@mail.com is my mail ID which is in cPanel mail accounts.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜