www.webdeveloper.com
Results 1 to 3 of 3

Thread: Few questions about email sending in php

  1. #1
    Join Date
    Apr 2006
    Posts
    13

    Few questions about email sending in php

    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

    PHP Code:
    <?php
    //mail($recepeint,$subject,$msg,$mailheader);
    //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]
    Last edited by tanvirtonu; 11-09-2007 at 01:05 PM.

  2. #2
    Join Date
    May 2007
    Location
    Cleveland, OH
    Posts
    1,403
    I'd bet money that yahoo's email servers require authentication before sending email. Here's a tutorial that explains how you can send mail from php that requires smtp authentication, however it requires you to have the PEAR Mail package installed.

  3. #3
    Join Date
    Apr 2006
    Posts
    13
    Quote Originally Posted by TJ111
    I'd bet money that yahoo's email servers require authentication before sending email. Here's a tutorial that explains how you can send mail from php that requires smtp authentication, however it requires you to have the PEAR Mail package installed.
    Brother I have just tried it using pear package-
    My code is as follows-
    PHP Code:

    include('Mail.php');
    /* mail setup recipients, subject etc */
    $recipients 'tanvirtonu@yahoo.com';
    $headers['From'] = 'bhonest_4ever2007@yahoo.com';  
    $headers['To'] = 'tanvirtonu@yahoo.com';
    $headers['Subject'] = 'ME HERE';
    $mailmsg 'Hello, This is a test.';
    /* SMTP server name, port, user/passwd */
    $smtpinfo['host'] = 'smtp.mail.yahoo.com';
    $smtpinfo['port'] = '25';
    $smtpinfo['auth'] = true;
    $smtpinfo['username'] = 'bhonest_4ever2007';
    $smtpinfo['password'] = 'abcdefg';
    /* Create the mail object using the Mail::factory method */
    $mail_object =& Mail::factory('smtp'$smtpinfo);
    /* Ok send mail */
    $mail_object->send($recipients$headers$mailmsg);
    ?> 
    But the mail is not sent. I have shut down all firewall or antivirus and tried again but didn't work. Wud anybody pls try my code and tell me if it works so that I can be sure that the problem is not with my code.One more thing which port should I use-default 25 or 465 which uses SSL and authentication . Pls help me.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center



Recent Articles