PHP : send mail in localhost

后端 未结 4 632
-上瘾入骨i
-上瘾入骨i 2020-11-27 06:24

I would like to send email through php code hosted locally.



        
相关标签:
4条回答
  • 2020-11-27 06:39

    try this

    ini_set("SMTP","aspmx.l.google.com");
    $headers = "MIME-Version: 1.0" . "\r\n";
    $headers .= "Content-type: text/html; charset=iso-8859-1" . "\r\n";
    $headers .= "From: test@gmail.com" . "\r\n";
    mail("email@domain.com","test subject","test body",$headers);
    
    0 讨论(0)
  • 2020-11-27 06:41

    You will need to install a local mailserver in order to do this. If you want to send it to external e-mail addresses, it might end up in unwanted e-mails or it may not arrive at all.

    A good mailserver which I use (I use it on Linux, but it's also available for Windows) is Axigen: http://www.axigen.com/mail-server/download/

    You might need some experience with mailservers to install it, but once it works, you can do anything you want with it.

    0 讨论(0)
  • 2020-11-27 06:57

    It is configured to use localhost:25 for the mail server.

    The error message says that it can't connect to localhost:25.

    Therefore you have two options:

    1. Install / Properly configure an SMTP server on localhost port 25
    2. Change the configuration to point to some other SMTP server that you can connect to
    0 讨论(0)
  • 2020-11-27 07:00

    I spent hours on this. I used to not get errors but mails were never sent. Finally I found a solution and I would like to share it.

    <?php
    include 'nav.php';
    /*
        Download PhpMailer from the following link:
        https://github.com/Synchro/PHPMailer (CLick on Download zip on the right side)
        Extract the PHPMailer-master folder into your xampp->htdocs folder
        Make changes in the following code and its done :-)
    
        You will receive the mail with the name Root User.
        To change the name, go to class.phpmailer.php file in your PHPMailer-master folder,
        And change the name here: 
        public $FromName = 'Root User';
    */
    require("PHPMailer-master/PHPMailerAutoload.php"); //or select the proper destination for this file if your page is in some   //other folder
    ini_set("SMTP","ssl://smtp.gmail.com"); 
    ini_set("smtp_port","465"); //No further need to edit your configuration files.
    $mail = new PHPMailer();
    $mail->SMTPAuth = true;
    $mail->Host = "smtp.gmail.com"; // SMTP server
    $mail->SMTPSecure = "ssl";
    $mail->Username = "trials.php@gmail.com"; //account with which you want to send mail. Or use this account. i dont care :-P
    $mail->Password = "trials.php.php"; //this account's password.
    $mail->Port = "465";
    $mail->isSMTP();  // telling the class to use SMTP
    $rec1="trials.php@gmail.com"; //receiver. email addresses to which u want to send the mail.
    $mail->AddAddress($rec1);
    $mail->Subject  = "Eventbook";
    $mail->Body     = "Hello hi, testing";
    $mail->WordWrap = 200;
    if(!$mail->Send()) {
    echo 'Message was not sent!.';
    echo 'Mailer error: ' . $mail->ErrorInfo;
    } else {
    echo  //Fill in the document.location thing
    '<script type="text/javascript">
                            if(confirm("Your mail has been sent"))
                            document.location = "/";
            </script>';
    }
    ?>
    
    0 讨论(0)
提交回复
热议问题