How to configure XAMPP to send mail from localhost?

后端 未结 11 2493
梦如初夏
梦如初夏 2020-11-21 05:17

I am trying to send mail from localhost. but i am unable to send the mail from localhost so can anybody tell me that how to reconfigure my xampp to send mail from localhost

相关标签:
11条回答
  • 2020-11-21 05:31

    You can send mail from localhost with sendmail package , sendmail package is inbuild in XAMPP. So if you are using XAMPP then you can easily send mail from localhost.

    for example you can configure C:\xampp\php\php.ini and c:\xampp\sendmail\sendmail.ini for gmail to send mail.

    in C:\xampp\php\php.ini find extension=php_openssl.dll and remove the semicolon from the beginning of that line to make SSL working for gmail for localhost.

    in php.ini file find [mail function] and change

    SMTP=smtp.gmail.com
    smtp_port=587
    sendmail_from = my-gmail-id@gmail.com
    sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"
    

    Now Open C:\xampp\sendmail\sendmail.ini. Replace all the existing code in sendmail.ini with following code

    [sendmail]
    
    smtp_server=smtp.gmail.com
    smtp_port=587
    error_logfile=error.log
    debug_logfile=debug.log
    auth_username=my-gmail-id@gmail.com
    auth_password=my-gmail-password
    force_sender=my-gmail-id@gmail.com
    

    Now you have done!! create php file with mail function and send mail from localhost.

    PS: don't forgot to replace my-gmail-id and my-gmail-password in above code. Also, don't forget to remove duplicate keys if you copied settings from above. For example comment following line if there is another sendmail_path : sendmail_path="C:\xampp\mailtodisk\mailtodisk.exe" in the php.ini file

    Also remember to restart the server using the XAMMP control panel so the changes take effect.

    For gmail please check https://support.google.com/accounts/answer/6010255 to allow access from less secure apps.

    To send email on Linux (with sendmail package) through Gmail from localhost please check PHP+Ubuntu Send email using gmail form localhost.

    0 讨论(0)
  • 2020-11-21 05:33

    This code is used for the mail from your localhost XAMPP and your Gmail account. This code is very easy and working for me try your self.

    Below Change In php.ini File

    SMTP=smtp.gmail.com 
    smtp_port=587 
    sendmail_from = your@gmail.com 
    sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t" 
    extension=php_openssl.dll 
    

    Below Change In sendmail.ini File

    smtp_server=smtp.gmail.com
    smtp_port=587
    error_logfile=error.log
    debug_logfile=debug.log 
    auth_username=yourmail@gmail.com 
    auth_password=your-gmail-password 
    force_sender=yourmail@gmail.com  
    

    Please write the belove code in your PHP file to send email

    <?php 
        $to = "tomail@gmail.com";
        $subject = "Test Mail";
        $headers = "From: from_mail@gmail.com\r\n";
        $headers .= "Reply-To: replytomail@gmail.com\r\n";
        $headers .= "CC: theassassin.edu@gmail.com\r\n";
        $headers .= "MIME-Version: 1.0\r\n";
        $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
        $message = '<html><body>';
        $message .= '<img src="//css-tricks.com/examples/WebsiteChangeRequestForm/images/wcrf-header.png" alt="Website Change Request" />';
        $message .= '<table rules="all" style="border-color: #666;" cellpadding="10">';
        $message .= "<tr style='background: #eee;'><td><strong>Name:</strong> </td><td>Details</td></tr>";
        $message .= "<tr><td><strong>Email:</strong> </td><td>Details</td></tr>";
        $message .= "<tr><td><strong>Type of Change:</strong> </td><td>Details</td></tr>";
        $message .= "<tr><td><strong>Urgency:</strong> </td><td>Details</td></tr>";
        $message .= "<tr><td><strong>URL To Change (main):</strong> </td><td>Details</td></tr>";
        $addURLS = 'google.com';
        if (($addURLS) != '') {
            $message .= "<tr><td><strong>URL To Change (additional):</strong> </td><td>" . $addURLS . "</td></tr>";
        }
        $curText = 'dummy text';           
        if (($curText) != '') {
            $message .= "<tr><td><strong>CURRENT Content:</strong> </td><td>" . $curText . "</td></tr>";
        }
        $message .= "<tr><td><strong>NEW Content:</strong> </td><td>New Text</td></tr>";
        $message .= "</table>";
        $message .= "</body></html>";
    
        if(mail($to,$subject,$message,$headers))
        {
            echo "Mail Send Sucuceed";
        }
        else{
            echo "Mail Send Failed";    
        }
    ?>
    
    0 讨论(0)
  • 2020-11-21 05:34

    just spent over an hour trying to make this work. for everybody having the same trouble with all the suggestions posted not working: you have to restart Apache in your XAMPP inrerface! just restarting XAMPP wont work!!

    0 讨论(0)
  • 2020-11-21 05:39

    In XAMPP v3.2.1 for testing purposes you can see the emails that the XAMPP sends in XAMPP/mailoutput. In my case on Windows 8 this did not require any additional configuration and was a simple solution to testing email

    0 讨论(0)
  • 2020-11-21 05:45

    Its very simple to send emails on localhost or local server

    Note: I am using the test mail server software on Windows 7 64bit with Xampp installed

    Just download test mail server tool and install according to the instruction given on its website Test Mail Server Tool

    Now you need to change only two lines under php.ini file

    1. Find [mail function] and remove semi colon which is before ;smtp = localhost
    2. Put the semi colon before sendmail_path = "C:\xampp\mailtodisk\mailtodisk.exe"

    You don't need to change anything else, but if you still not getting emails than check for the SMTP port, the port number must be same.

    The above method is for default settings provided by the Xampp software.

    0 讨论(0)
  • 2020-11-21 05:45

    You can test send mail in Your PC without Internet

    you should use Papercut this simple application to test send mail. and you don't need to configure anything.

    Just run it and try test send mail:

    test_sendmail.php

    <?php
    $to = "somebody@example.com";
    $subject = "My subject";
    $txt = "Hello world!";
    $headers = "From: webmaster@example.com" . "\r\n" .
    "CC: somebodyelse@example.com";
    
    mail($to,$subject,$txt,$headers);
    ?>
    

    and you will see this:

    I hope you will have a good day. you can find me on Youtube for more tutorial Piseth Sok

    Cheer!

    0 讨论(0)
提交回复
热议问题