Jump to content

Archived

This topic is now archived and is closed to further replies.

mohammedsk

mail() does not send to Hotmail

Recommended Posts

I am trying to send email using PHP function mail($email, $title, $body).
It sends to Yahoo and Gmail, but not Hotmail.

It does not make sense to me.
Any help will be appreciated.

[code]
$header = "Return-Path: me@example.net\n";
$header .= "X-Sender: me@example.net\n";
$header .= "From: ME. <me@example.net>\n";
$header .= "X-Mailer:PHP 5.1\n";
$header .= "MIME-Version: 1.0\n";

ini_set(sendmail_form, "me@example.net");

if (mail("$username", "$title", "$body") == false)
        echo "Activation failed";
else
echo "Please check your email for confirmation";
[/code]


Share this post


Link to post
Share on other sites
Welll here
[code]mail("$username", "$title", "$body")[/code]
you're aren't even passing your headers
and you don't need to double quote your variables

try this
[code]mail($username, $title, $body, $headers)[/code]

Share this post


Link to post
Share on other sites
Hotmail does tend to move it to the junk folder, but below is a good set of headers that work well.

[code]<?php
  $from_name = "HuggieBear";
  $from_address = "myemail@mydomain.co.uk";
 
  $to_name = "mohammedsk";
  $to_address = "$to_name <youremail@yourdomain.co.uk>";
 
  $subject = "Hotmail likes these headers";
  $message = "Give these a try and see if you have any luck";
 
  $headers .= "MIME-Version: 1.0\r\n";
  $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
  $headers .= "From: $from_name <$from_address>\r\n";
  $headers .= "Reply-To: $from_name <$from_address>\r\n";
  $headers .= "X-Priority: 1\r\n";
  $headers .= "X-MSMail-Priority: High\r\n";
  $headers .= "X-Mailer: My Test Mailer";

  $success = mail($to_address, $subject, $message, $headers);
  if ($success) {
  echo "The email to $to_name from $from_name was successfully sent";
}
else {
echo "An error occurred when sending the email to $to_name from $from_name";
}
?>[/code]

Regards
Huggie

Share this post


Link to post
Share on other sites
I very much appreciate all your help.
Unfortunately, all that did not work. I called the hosting service and they told me that Hotmail is putting all the messages I sent in a queue, why? They do not know.

Thanks a lot for all,

Share this post


Link to post
Share on other sites
lol your hosting service lied....

they do not have any ability to look at mail queues for Microsofts hotmail servers.... basically they didnt have an answer and wanted to dump your call

what they should be able to provide you with is a mail log that will show if the mail server you are using was able to succesfully send a message to the hotmail mail server.  if they can show you a log saying that the message was successfully sent to hotmail and the hotmail server acknoledged it got it, then you will need to contact MS Hotmail Support and have them run a message track and see where teh message went on their end.

Remember email does not have a garunteed delivery timeframe so it is possible for it to take over an hour to be sent...  just because its normally fast doesnt mean it always is

Share this post


Link to post
Share on other sites

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.