View Full Version : Few questions about email sending in php

11-09-2007, 08:01 PM
I have tried several ways to send mail but I hav failed and I m veryyyyyy upset. Now
I have few question about mail sending in php

1. I cant/dont use the smtp server of my ISP. Now which server I can send my mail thru?

2. I want to use yahoo smtp mail server. Now do I have to set yahoo smtp server name and port in php.ini? Cant I set these (both name and port)dynamically in php. if so, how?

3.If the server name I m using uses authenticated smtp, WHERE and how to put code for user id and password in php .
If in mail header then in which format?

4. I hav come to know the following things from website of yahoo-

Outgoing Mail (SMTP) Server:
smtp.mail.yahoo.com (Use SSL, port: 465, use authentication)

I am also giving u my account details
My yahoo id- bhonest_4ever2007@yahoo.com (created 2day for the test)
password- abcdefg

Now would anybody pls pls tel me or write me a simple code by which I can send mail without using my Isp's smtp server. DO I need to use those info. in php.ini . Or is there any way to add them dynamically in php.

I once tried with the following code but nothing happened

//define the receiver of the email
$to = 'bhonest_4ever@yahoo.com';
//define the subject of the email
$subject = 'Test email';
//define the message to be sent. Each line should be separated with \n
$message = "Hello World!\r\nThis is my first mail.";
//define the headers we want passed. Note that they are separated with \r\n
$headers = "From: tanvirtonu@yahoo.com\r\nReply-To: tanvirtonu@yahoo.com";
//send the email
$mail_sent = @mail( $to, $subject, $message, $headers );
//if the message is sent successfully print "Mail sent". Otherwise print "Mail failed"
echo $mail_sent ? "Mail sent" : "Mail failed";

echo "Thank You <b>Tanvir</b> for ur message";
echo "<p>Your mail address is <p>$to </p>";
echo "<p>Your message was <p> $message </p>";

//I set server=smtp.mail.yahoo.com and port=25 in php.ini and restart the server .

NB. If I configure php.ini in php code using ini_set(), wouldn't it be permanent next time. But what happens if I host these php file in another server. There can be a lot other php files trying to do the same thing. Isn't it a problem.
I can also send mail using a free smtp server and a mail client in my windows pc which requires default 25 port for smtp. Should I use this port-25 with the above server name smtp.mail.yahoo.com[/php]