Могу ли я использовать gmail как smtp-сервер для своего веб-сайта

Привет, я пытаюсь запустить веб-сайт. В настоящее время он размещен на AWS, поэтому в настоящий момент у меня нет собственного SMTP-сервера. Поэтому, прочитав несколько статей, я понял, что мы могли бы использовать gmail как smtp-сервер.

Я хотел бы дважды проверить, правильно ли я прочитал, я собираюсь использовать программное обеспечение для служебной платы, могу ли я подключить значения, предоставленные gmail, и использовать их в качестве сервера smtp?

Да, Google позволяет подключаться через SMTP и позволяет отправлять электронные письма с вашего аккаунта GMail.

Существует много почтовых сценариев PHP, которые вы можете использовать. Некоторые из наиболее популярных SMTP-отправителей: PHPMailer (с полезным учебником ) и SWIFTMailer (и их учебник ).

Данные, необходимые для подключения и отправки электронной почты со своих серверов, – это ваша учетная запись GMail , ваш password , их SMTP server (в данном случае smtp.gmail.com ) и порт (в этом случае 465 ), также вы должны убедиться, что электронные письма отправляется через SSL.

Быстрый пример отправки электронной почты, такой как PHPMailer :

 <?php require("class.phpmailer.php"); $mail = new PHPMailer(); $mail->IsSMTP(); // telling the class to use SMTP $mail->SMTPAuth = true; // SMTP authentication $mail->Host = "smtp.gmail.com"; // SMTP server $mail->Port = 465; // SMTP Port $mail->Username = "john.doe@gmail.com"; // SMTP account username $mail->Password = "your.password"; // SMTP account password $mail->SetFrom('john.doe@gmail.com', 'John Doe'); // FROM $mail->AddReplyTo('john.doe@gmail.com', 'John Doe'); // Reply TO $mail->AddAddress('jane.doe@gmail.com', 'Jane Doe'); // recipient email $mail->Subject = "First SMTP Message"; // email subject $mail->Body = "Hi! \n\n This is my first e-mail sent through Google SMTP using PHPMailer."; if(!$mail->Send()) { echo 'Message was not sent.'; echo 'Mailer error: ' . $mail->ErrorInfo; } else { echo 'Message has been sent.'; } ?> 

Я успешно использую SMTP-сервер GMail.

У нас есть корпоративная учетная запись GMail, хотя я не думаю, что это важно. Персональная учетная запись GMail должна быть достаточной.

У меня нет образца PHP, однако следующая конфигурация для ASP.Net должна обеспечивать адекватное руководство:

 <mailSettings> <smtp from="me@gmail.com"> <network enableSsl="true" host="smtp.gmail.com" port="587" userName="me@gmail.com" password="mypassword" /> </smtp> </mailSettings> 

Если у кого-то есть подходящий образец PHP, не стесняйтесь редактировать мой ответ или публиковать свои собственные .

Требуется аутентификация, я верю, но я не понимаю, почему нет. Я не буду проводить исследование для вас, но есть несколько вещей, которые нужно изучить:

  • Их SMTP-сервер требует TLS-шифрования и размещается на нестандартном порту (995). Вам нужно будет убедиться, что AWS поддерживает оба этих параметра для исходящего SMTP.
  • Вероятно, есть ограничение на электронные письма, которые вы можете отправить, прежде чем их пометить как спам. Вы должны изучить это и убедиться, что это не соответствует вашим требованиям.

Вы можете использовать класс PHPMailer для этой работы. И вы можете легко настроить smtp.

Пример конфигурации

 if (class_exists(@PHPMailer)) { $smtp_mail = new PHPMailer(); $smtp_mail->isSMTP(); $smtp_mail->SMTPAuth = true; // enable SMTP authentication $smtp_mail->SMTPSecure = "ssl"; // sets the prefix to the servier $smtp_mail->Host = "smtp.gmail.com"; // sets GMAIL as the SMTP server $smtp_mail->Port = 465; // set the SMTP port $smtp_mail->Username = "info@example.com"; // GMAIL username $smtp_mail->Password = "password"; // GMAIL password $smtp_mail->From = "info@example.com"; $smtp_mail->FromName = "Name"; $smtp_mail->AltBody = "This is the body when user views in plain text format"; //Text Body $smtp_mail->WordWrap = 50; // set word wrap $smtp_mail->AddReplyTo("info@example.com","Name"); $smtp_mail->isHTML(true); // send as HTML }