TAAPSogeking
TAAPSogeking

Reputation: 360

PHP mail returns true (Message accepted for delivery), but the message is not sent

I have been trying get php to send mail for over a month. I am moving from 000webhost, where it worked fine, to my friend's server.

The php code that sends mail is:

$subject = $u.", your infomation";  
$message = "Your password is ".$p;  
$from = "[email protected]";  
$headers = "From:" . $from;  
if(mail($e,$subject,$message,$headers))  
$_SESSI ON['message']="message sent";  
else $_SESSION['message']="error";

the sendmail path in php.ini is "/usr/sbin/sendmail -t -i"


etc/hosts:

000.000.000.000 inspiron-1000 inspiron-1000.
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

and the mail.log:

Jun 9 22:05:07 inspiron-1000 sendmail[24552]: r5A357t5024552: from=www-data, size=144, class=0, nrcpts=1, msgid=<201306100305.r5A357t5024552@inspiron-1000.>, relay=www-data@localhost
Jun 9 22:05:07 inspiron-1000 sm-mta[24553]: r5A357A8024553: from=<www-data@inspiron-1000>, size=367, class=0, nrcpts=1, msgid=<201306100305.r5A357t5024552@inspiron-1000.>, proto=ESMTP, daemon=MTA-v4, relay=ip6-localhost [127.0.0.1]
Jun 9 22:05:08 inspiron-1000 sendmail[24552]: r5A357t5024552: [email protected], ctladdr=www-data (33/33), delay=00:00:01, xdelay=00:00:01, mailer=relay, pri=30144, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (r5A357A8024553 Message accepted for delivery)

this is mailq: MSP Queue status...

/var/spool/mqueue-client is empty
        Total requests: 0
MTA Queue status...
        /var/spool/mqueue (5 requests)
-----Q-ID----- --Size-- -----Q-Time----- ------------Sender/Recipient-----------
r5M3LmZV023863*      19 Fri Jun 21 22:21 <www-data@inspiron-1000>
                     <[email protected]>
r5M3HicX023780*      19 Fri Jun 21 22:17 <www-data@inspiron-1000>
                     <[email protected]>
r5M3BSDF023465       19 Fri Jun 21 22:11 <www-data@inspiron-1000>
                 (Deferred: Connection timed out with alt4.gmail-smtp-in.l.goo)
                     <[email protected]>
r5M36Tjx023175       19 Fri Jun 21 22:06 <www-data@inspiron-1000>
                 (Deferred: Connection timed out with alt4.gmail-smtp-in.l.goo)
                     <[email protected]>
r5M33YQf023137*      19 Fri Jun 21 22:03 <www-data@inspiron-1000>
                 (Deferred: Connection timed out with alt4.gmail-smtp-in.l.goo)
                     <[email protected]>
        Total requests: 5

Upvotes: 1

Views: 9001

Answers (2)

TAAPSogeking
TAAPSogeking

Reputation: 360

This is how I fixed it: Install phpmailer.

Here is a tutorial how to send mail with PHP mailer

Here is my code:

<?php
require 'PHPMailer-master/class.phpmailer.php';

function sendmail($to,$subject, $body) 
{ 
    return sendmailfrom($to,"[email protected]","from me", $subject, $body);
}
function sendmailfrom($to, $from, $from_name, $subject, $body) 
{
    $mail = new PHPMailer();  // create a new object
    $mail->IsSMTP(); // enable SMTP
    $mail->SMTPDebug = 0;  // debugging: 1 = errors and messages, 2 = messages only
    $mail->SMTPAuth = true;  // authentication enabled
    $mail->SMTPSecure = 'ssl'; // secure transfer enabled REQUIRED for GMail
    $mail->Host = 'smtp.gmail.com';//required for gmail
    $mail->Port = 465; 
    $mail->Username = '[email protected]';//the email I want to send from  
    $mail->Password = 'mypassword';  //my password         
    $mail->SetFrom($from, $from_name);
    $mail->Subject = $subject;
    $mail->Body = $body;
    $mail->AddAddress($to);
    if(!$mail->Send()) return false;
    else return true;
}
?>

When ever I want to send mail I include this code, via include("filename.php"), and run sendmail($to,$subject, $body);

Upvotes: 1

SpenserJ
SpenserJ

Reputation: 802

That isn't all of the information from mail.log. You're seeing that the local server did accept your email, but it doesn't mention trying to send that email off to GMail. You could check the mail that is queued for delivery with $ mailq from the commandline. Chances are there are a few more lines in that log file with more information though.

Upvotes: 0

Related Questions