mail working, not working. [message #182879] |
Mon, 23 September 2013 15:15 |
bill
Messages: 310 Registered: October 2010
Karma: 0
|
Senior Member |
|
|
In homage to Twane, I have a problem.
This code does not work (mail returns true, but the mail
is not received):--------------------------------------------
// mail notification to office
$userx = urlencode($user);
$emailTo = "office(at)example(dot)com, william(at)example(dot)com";
$message = "A new user registered. ";
$subject = "A new user registered: $userx";
$headers = <<<END
From:office(at)example(dot)com\n
END;
mail($emailTo,$subject,$message,$headers);
-----------------------------------------------------------
whereas this code does work (different script)------------
// now send notification
// look up email address for msgTo
$emailTo = fGetEmailAddy($msgTo);
$name = fGetRealName ($msgFrom);
$toName = fGetRealName ($msgTo);
if ($broadcast) { // broadcasting a non-clinical message
$message = stripslashes($msgBody);
$subject = "General information message from example.";
} //broadcasting a non-clinical message
else { // not a broadcast message
$message = "$name left a message for you at
https://example.com/email/login.php";
$subject = "The MP Secure Server has a message.";
} //not a broadcast message
$headers = <<<END
From:office(at)example(dot)com\n
END;
mail($emailTo,$subject,$message,$headers);
---------------------------------------------------------------
As far as I can see, they are identical. But on the other hand,
maybe I can't see.
Both scripts run on the same server, neither has errors with
error_reporting(E_ALL); set at the top of the script.
Both require the same class.
in both examples the domain name was changed to "example" by
hand; otherwise they are copied, pasted, and reformatted to fit news.
Any help and/or suggestions on how to proceed will be
appreciated. To make it more fun: earlier in the development
process both worked just fine.
bill
|
|
|
Re: mail working, not working. [message #182880 is a reply to message #182879] |
Mon, 23 September 2013 15:39 |
Peter H. Coffin
Messages: 245 Registered: September 2010
Karma: 0
|
Senior Member |
|
|
On Mon, 23 Sep 2013 11:15:11 -0400, bill wrote:
> In homage to Twane, I have a problem.
> This code does not work (mail returns true, but the mail
> is not received):--------------------------------------------
>
> // mail notification to office
> $userx = urlencode($user);
> $emailTo = "office(at)example(dot)com, william(at)example(dot)com";
> $message = "A new user registered. ";
> $subject = "A new user registered: $userx";
> $headers = <<<END
> From:office(at)example(dot)com\n
> END;
>
> mail($emailTo,$subject,$message,$headers);
> -----------------------------------------------------------
>
> As far as I can see, they are identical. But on the other hand,
> maybe I can't see.
>
> Both scripts run on the same server, neither has errors with
> error_reporting(E_ALL); set at the top of the script.
> Both require the same class.
>
> in both examples the domain name was changed to "example" by
> hand; otherwise they are copied, pasted, and reformatted to fit news.
>
> Any help and/or suggestions on how to proceed will be
> appreciated. To make it more fun: earlier in the development
> process both worked just fine.
Many "mail does not work" problems are not related to the PHP, but
rather to the mail itself being sent. Maybe the mail is rejected at the
remote end because it looks too much like spam, or because the sending
address is invalid, or because it's coming from a machine on a network
with a list of authorized machines to send mail and this thing is not
it. Mail() returning true only means that whatever the local submission
calls for completed successfully.
--
It's possible there had been armed autonomous droids at some point in
the past, and one can almost imagine past issues of that galaxy's Risks
Digest.
-- Anthony DeBoer, on SW: TPM
|
|
|
Re: mail working, not working. [message #182882 is a reply to message #182879] |
Tue, 24 September 2013 00:16 |
bill
Messages: 310 Registered: October 2010
Karma: 0
|
Senior Member |
|
|
On 2013-09-23 11:15 AM, bill wrote:
....
> This code does not work (mail returns true, but the mail
> is not received):--------------------------------------------
> // mail notification to office
> $userx = urlencode($user);
> $emailTo = "office(at)example(dot)com, william(at)example(dot)com";
> $message = "A new user registered. ";
> $subject = "A new user registered: $userx";
> $headers = <<<END
> From:office(at)example(dot)com\n
> END;
> mail($emailTo,$subject,$message,$headers);
> -----------------------------------------------------------
> whereas this code does work (different script)------------
> // now send notification
> // look up email address for msgTo
> $emailTo = fGetEmailAddy($msgTo);
> $name = fGetRealName ($msgFrom);
> $toName = fGetRealName ($msgTo);
> if ($broadcast) { // broadcasting a non-clinical message
> $message = stripslashes($msgBody);
> $subject = "General information message from example.";
> } //broadcasting a non-clinical message
> else { // not a broadcast message
> $message = "$name left a message for you at
> https://example.com/email/login.php";
> $subject = "The MP Secure Server has a message.";
> } //not a broadcast message
>
> $headers = <<<END
> From:office(at)example(dot)com\n
> END;
> mail($emailTo,$subject,$message,$headers);
> ---------------------------------------------------------------
>
>
> As far as I can see, they are identical. But on the other hand, maybe I
> can't see.
>
> Both scripts run on the same server, neither has errors with
> error_reporting(E_ALL); set at the top of the script.
> Both require the same class.
>
....
> bill
I'll have to agree with Peter at this point. If mail() is being reported
as true, then it's at least making it to be accepted at the server. Soo,
something is likely up at the server end.
Just for grins, I tried your first code here (sans encode) and it
worked OK; I received the e-mail.
I see no Headers in your code but I do in the mail() statement; are they
there and correct? Else I'd remove the $headers. I just used a name and
a return path for my test here.
Have you looked at your server error logs? Both local and remote?
Depending on your server, it's probably not looking like spam or
you'd have heard from them by now or your account would be temporarily
disabled.
It might be worth asking the folks at your remote server what might be
up and include the same details as you included here. I'd go ahead and
open a support ticket and see what come out of it.
Could it have anything to do with the encoding? I think I'd try
removing it to see what happens at least; it's a quick test to do.
And of course, scrutinize the code very carefully for typos.
|
|
|
Re: mail working, not working. [message #182890 is a reply to message #182882] |
Tue, 24 September 2013 10:58 |
bill
Messages: 310 Registered: October 2010
Karma: 0
|
Senior Member |
|
|
On 9/23/2013 8:16 PM, Twayne wrote:
> On 2013-09-23 11:15 AM, bill wrote:
....
> I'll have to agree with Peter at this point. If mail() is being
> reported as true, then it's at least making it to be accepted at
> the server. Soo, something is likely up at the server end.
>
> Just for grins, I tried your first code here (sans encode)
> and it worked OK; I received the e-mail.
>
> I see no Headers in your code but I do in the mail() statement;
> are they there and correct? Else I'd remove the $headers. I just
> used a name and a return path for my test here.
>
> Have you looked at your server error logs? Both local and
> remote?
>
> Depending on your server, it's probably not looking like spam
> or you'd have heard from them by now or your account would be
> temporarily disabled.
>
> It might be worth asking the folks at your remote server what
> might be up and include the same details as you included here.
> I'd go ahead and open a support ticket and see what come out of it.
> Could it have anything to do with the encoding? I think I'd
> try removing it to see what happens at least; it's a quick test
> to do.
>
> And of course, scrutinize the code very carefully for typos.
LOL!
Will look in the server logs.
bill
|
|
|