Member 13301331 Ответов: 1

Настройки Php email SMTP


Здравствуйте, чтобы отправить электронное письмо из PHP-формы автоматически, я внес эти изменения в php. ini

[почтовая функция]
; Только для Win32.
; http://php.net/smtp
SMTP=smtp.gmail.com
; http://php.net/smtp-port
smtp_port=465
auth_username = * * * * @gmail.com
auth_password = ****

sendmail_from = * * * * @gmail.com

sendmail_path ="\ - Т C:\xampp\sendmail\sendmail.exe"


В sendmail.Ини

SMTP=smtp.gmail.com

smtp_port=465

auth_username = * * * * @gmail.com
auth_password = ****

force_sender= * * * * @gmail.com

все идет хорошо, я получаю сообщение, отправленное успешно ... сообщение, но на мой gmail я не получаю никакой почты.


Пожалуйста, дайте свои предложения

Что я уже пробовал:

<? php
долларов = "*******@gmail.com";
$subject = " это тема";

$сообщение = "Это HTML-сообщение.";
$сообщение .= "

Это заголовок.

";

$header = " From:* * * * @gmail.com \r\n";

$header. = " MIME-версия: 1.0\r\n";
$header. = " Content-type: text / html\r\n";
$retval = mail ($to,$subject,$message,$header);

if ($retval = = true ) {
сообщение " Эхо " отправлено успешно...";
}еще {
сообщение " эхо " не может быть отправлено...";
}
?>

1 Ответов

Рейтинг:
1

Sheila Pontes

Привет,

Используйте PHPMailer, эта библиотека очень хороша. Я использую его во всех своих проектах.

Библиотека в GitHub-PHPMailer/PHPMailer: классическая библиотека отправки электронной почты для PHP

Моя функция-отправить электронное письмо с помощью PHPMailer.

public function Send_Email_Gmail($address_to, $name_to, $message)
    {
        try
        {
            //error_reporting(E_ALL);
            error_reporting(E_STRICT);
            
            //definir time zone
            date_default_timezone_set('America/Sao_Paulo');

            //inicializar class e-mail
            $mail = new phpmailer();
            $body = $message;
            
            $mail->IsSMTP(); // telling the class to use SMTP
            $mail->SMTPDebug  = 2;                     // enables SMTP debug information (for testing)
                                                       // 1 = errors and messages
                                                       // 2 = messages only
            $mail->SMTPAuth   = true;                  // enable SMTP authentication
            $mail->SMTPSecure = "tls";                 // sets the prefix to the servier
            $mail->Host       = "smtp.gmail.com";      // sets GMAIL as the SMTP server
            $mail->Port       = 587;                   // set the SMTP port for the GMAIL server
            
            //porta 465 - ssl / 587 - tls 
            
            
            $mail->Username   = my_user_name_gmail;  // GMAIL username
            $mail->Password   = my_password_gmail;            // GMAIL password
            $mail->SetFrom('my_user_name_gmail@gmail.com', utf8_decode('My e-mail'));

            $mail->Subject    = utf8_decode('send test e-mail');
            $mail->AltBody    = utf8_decode("To view the message, please use an HTML-compatible email viewer!");    
            
            $mail->MsgHTML($body);

            $mail->AddAddress($address_to, $name_to);

            if($mail->Send()) {
                return $mail->ErrorInfo;
            } else {
               
                return 'ok';
            }
        }
        catch(Exception $e)
        {
            return 'Error to send e-mail. Error: ' . $e->getMessage();
        }
    }