11

您好,我正在尝试建立一个网站并运行。它目前托管在 AWS 上,因此我目前没有运行自己的 smtp 服务器。所以在阅读了几篇文章之后,我明白了我们可以使用 gmail 作为 smtp 服务器。

我想仔细检查我读到的内容是否正确,我将使用智能工作板软件,我可以插入 gmail 提供的值并将其用作 smtp 服务器吗?

4

5 回答 5

6

我成功使用了 GMail SMTP 服务器。

我们确实有一个公司的 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 示例,请随时编辑我的答案或发布您自己的.

于 2012-08-30T04:23:15.903 回答
6

是的,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.';
    }
?>
于 2012-08-30T07:16:46.447 回答
2

我相信需要身份验证,但我不明白为什么不这样做。我不会为你做研究,但有几件事需要调查:

  • 他们的 SMTP 服务器需要 TLS 加密,并且托管在非标准端口 (995) 上。您需要确保 AWS 支持 SMTP 出站的这两个选项。
  • 在被标记为垃圾邮件之前,您可以发送的电子邮件可能存在上限。您应该对此进行研究并确保它不会超出您的要求。
于 2012-08-30T04:23:05.013 回答
0

您可以使用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
}
于 2012-08-30T07:14:29.493 回答
0

尽管从技术上讲,您可以将 Gmail 用作 SMTP 服务器,但不建议将其用于大型网站。到时候您可能会收到诸如“421 4.7.0 临时系统问题”或类似问题,它不是为应用程序设计的,而是由一个人使用的。

上述错误消息的相关问题: Gmail SMTP 错误 - 临时阻止?

于 2019-06-03T11:24:48.867 回答