В моем PHP webapp я хочу получать уведомление по электронной почте, когда возникают определенные ошибки. Я бы хотел использовать мою учетную запись Gmail для отправки. Как это можно сделать?
SMTP-сервер Gmail требует очень конкретной конфигурации.
Из справки Gmail :
Outgoing Mail (SMTP) Server (requires TLS) - smtp.gmail.com - Use Authentication: Yes - Use STARTTLS: Yes (some clients call this SSL) - Port: 465 or 587 Account Name: your full email address (including @gmail.com) Email Address: your email address (username@gmail.com) Password: your Gmail password
Возможно, вы можете установить эти настройки в Pear :: Mail или PHPMailer . Ознакомьтесь с их документацией для получения более подробной информации.
Вы можете использовать почтовую функцию PEAR с SMTP-сервером Gmail
Обратите внимание, что при отправке электронной почты с использованием SMTP-сервера Gmail он будет выглядеть так, как будто он пришел с вашего адреса Gmail, несмотря на то, что вы стоите за $ from.
(следующий код, взятый из Советы по программированию на сайте )
<?php require_once "Mail.php"; $from = "Sandra Sender <sender@example.com>"; $to = "Ramona Recipient <recipient@example.com>"; $subject = "Hi!"; $body = "Hi,\n\nHow are you?"; // stick your GMAIL SMTP info here! ------------------------------ $host = "mail.example.com"; $username = "smtp_username"; $password = "smtp_password"; // -------------------------------------------------------------- $headers = array ('From' => $from, 'To' => $to, 'Subject' => $subject); $smtp = Mail::factory('smtp', array ('host' => $host, 'auth' => true, 'username' => $username, 'password' => $password)); $mail = $smtp->send($to, $headers, $body); if (PEAR::isError($mail)) { echo("<p>" . $mail->getMessage() . "</p>"); } else { echo("<p>Message successfully sent!</p>"); } ?>