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

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

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

Ответ 1

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

Существует много PHP-скриптов PHP, которые вы можете использовать. Некоторые из наиболее популярных SMTP-отправителей: PHPMailer (с полезным tutorial) и 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   = "[email protected]"; // SMTP account username
    $mail->Password   = "your.password";        // SMTP account password

    $mail->SetFrom('[email protected]', 'John Doe'); // FROM
    $mail->AddReplyTo('[email protected]', 'John Doe'); // Reply TO

    $mail->AddAddress('[email protected]', '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.';
    }
?>

Ответ 2

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

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

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

<mailSettings>
  <smtp from="[email protected]">
    <network enableSsl="true" host="smtp.gmail.com" port="587" userName="[email protected]" password="mypassword" />
  </smtp>
</mailSettings>

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

Ответ 3

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

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

Ответ 4

Для этого задания вы можете класс 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   = "[email protected]";  // GMAIL username
    $smtp_mail->Password   = "password";            // GMAIL password
    $smtp_mail->From       = "[email protected]";
    $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("[email protected]","Name");
    $smtp_mail->isHTML(true); // send as HTML
}

Ответ 5

Хотя технически вы можете использовать Gmail в качестве SMTP-сервера, это не рекомендуется для больших веб-сайтов. К тому времени вы можете получить такие сообщения, как "421 4.7.0 Временная системная проблема" или подобное, если оно не предназначено для использования приложением, а скорее одним человеком.

Связанная проблема для сообщения об ошибке выше: Ошибка SMTP Gmail - Временный блок?