我可以使用Gmail作为我的网站SMTP服务器吗?

11

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

我想再确认一下我所读的是否正确。我将使用smart job board软件,我能够插入由gmail提供的值并将其用作SMTP服务器吗?

5个回答

6

是的,谷歌允许通过他们的SMTP连接并允许你从GMail帐户发送电子邮件。

有很多PHP邮件脚本可供使用。一些最受欢迎的SMTP发送者包括:PHPMailer(附有一个有用的教程)和SWIFTMailer(及其教程)。

连接和从服务器发送电子邮件所需的数据是您的GMail帐户,您的密码,他们的SMTP服务器(在这种情况下为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.';
    }
?>

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示例,欢迎编辑我的答案或发布你自己的。


2
你意识到你给了他web.config文件,而他要求的是php……对吗? - Mihai Iorga
1
@MihaiIorga:为什么?这个问题是关于GMail是否可以用作SMTP服务器的。问题中没有要求从PHP、ASP.Net或其他任何语言中如何做到这一点。这超出了问题的范围。 - Eric J.
1
你可以随时查看标签以了解他需要回答什么问题。 - Mihai Iorga
1
顺便说一下,我还没有给你点踩。我在等待一个 PHP 的例子。 - Mihai Iorga
3
请参考常见问题解答:最重要的是要诚实,如果你发现错误信息,请投下反对票。添加注释指出具体错误之处。提供更好的答案。最好的方式——编辑和改进现有的问题和答案! 我的回答并没有错误(没有错误信息)。我没有PHP代码示例,但我提供了准确的信息。如果您愿意,可以提供自己的答案或编辑和改进我的答案。 - Eric J.
显示剩余3条评论

2

我认为需要进行身份验证,但我不知道为什么不能。 我不会为您做研究,但有几件事情需要注意:

  • 他们的SMTP服务器需要TLS加密,并且托管在非标准端口(995)上。 您需要确保AWS支持SMTP出站的这两个选项。
  • 发送邮件之前可能会有一定数量的限制,否则可能被标记为垃圾邮件。 您应该研究这个并确保它不超出您的要求。

端口995不是Gmail端口。SMTP协议的端口号为465或587。IMAP协议的端口号为993。请参考http://support.google.com/mail/bin/answer.py?hl=en&answer=78799。 - Eric J.

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
}

0

虽然理论上您可以将Gmail用作SMTP服务器,但不建议在大型网站中使用它。随着时间的推移,您可能会遇到“421 4.7.0临时系统问题”等问题,因为它并没有被设计为供应用程序使用,而是供单个人使用。

上述错误消息的相关问题: Gmail SMTP错误-暂时封锁?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接