Hello,

I am trying to send an email through php using the mail() function but getting the following error:

Warning: mail() [function.mail]: SMTP server response: my-server-name-here [my-ip-address-here] is currently not 550-permitted to relay through this server. Perhaps you have not logged into 550-the pop/imap server in the last 30 minutes or do not have SMTP 550 Authentication turned on in your email client.

My PHP Code is:

<?php
$to      = 'nobody@example.com';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: webmaster@example.com' . "\r\n" .
    'Reply-To: webmaster@example.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

mail($to, $subject, $message, $headers);
?>

FYI: I am running this code on windows 2003 server and i can send email using Horde.

What I am guessing is I need to add smtp authentication in my php code, so If you can tell me what is the syntax that can help me.

Does anyone know how to overcome this problem?


Thanx

I may be wrong, but I think there is no way you can authenticate to a mail server using just the mail() function in php.
You should set your server to allow emails from localhost/ local IP without authentication.
I use phpMailer class from here: http://phpmailer.sourceforge.net/
It is open source and has a lot of functionality, including authentication on smtp servers.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.