2012-08-11 40 views
1

我的应用程序中设置了一些自动发送电子邮件任务。我每天都会发送特定于应用程序的电子邮件给客户,提醒他们约会等。使用Gmail的smtp适合于生产任务,而不仅仅是简单的消息吗?实施我自己的SMTP服务器(如Apache James)有什么好处吗?Gmail SMTP适用于制作消息传送

+0

“适合生产使用”?那么,他们保证你什么?如果真的很重要,请考虑购买有保证的服务级别。 – 2012-08-11 15:45:51

+0

什么是有保证的服务级别?这是我从Gmail购买的东西吗? – ryandlf 2012-08-11 15:54:16

+0

就像“我们保证99.99%的时间我们的服务能够按照承诺发挥作用,更多的9更多”。如果在他们的在线文档中看不到这一点,我会建议致电Google。 – 2012-08-11 15:55:36

回答

0

我同意@Richthofen - 使用gmail在生产环境中发送电子邮件是一个糟糕的(也是不道德的)想法; Amazon SES或Sendgrid是这里最好的解决方案。如果您想运行自己的SMTP服务器,请记住它将与您的应用程序共享资源,并且可能会降低它的速度。

但是我使用gmail来测试使用javamail API的开发/测试环境。下面的代码:

public class EmailSender{ 

    public void send(){ 
     //javamail code 
     Session mailSession = createSmtpSession(); 
     //javamail code 
    } 

    private Session createSmtpSession() { 
     final Properties props = new Properties(); 
     props.setProperty ("mail.host", "smtp.gmail.com"); 
     props.setProperty("mail.smtp.auth", "true"); 
     props.setProperty("mail.smtp.port", "" + 587); 
     props.setProperty("mail.smtp.starttls.enable", "true"); 
     props.setProperty ("mail.transport.protocol", "smtp"); 
     // props.setProperty("mail.debug", "true"); 

     return Session.getDefaultInstance(props, new javax.mail.Authenticator() { 
      protected PasswordAuthentication getPasswordAuthentication() { 
       return new PasswordAuthentication(
        "<gmail ID in [email protected] format goes here>", 
        "<password goes here>"); 
      } 
     }); 
    } 
} 
+1

不道德?我想重申,我不是在谈论发送垃圾邮件营销电子邮件。我的自动邮件系统仅用于发送交易电子邮件,例如约会提醒或注册确认。 – ryandlf 2012-08-11 16:10:08

+0

对不起,我还在打字,当你在上面的评论框中提到你的目的.. btw我的一个客户使用谷歌应用程序电子邮件帐户的电子邮件传递给客户,包括中等大小的附件,它一直非常可靠 – 2012-08-11 18:31:10

1

Gmail TOS禁止未经请求的商业电子邮件。总的来说,我不会将任何依赖Gmail的服务部署给公众。我认为Gmail将电子邮件收件人列表限制为100个,所以如果您尝试向100多个人发送相同的邮件,它可能会失败。

由于声誉原因,您通常希望自己的IP用于传出邮件。对于我的大多数客户,当我从事自由职业工作时,我建议您提供价格合理的合作伙伴服务,如http://sendgrid.com/ ...拥有自己的IP意味着您可以合法地将您的声誉作为批量电子邮件发件人进行管理。而且您不必担心Gmail因为打破TOS而关闭了您。 Gmail也不会为您提供关于产能的衡量标准,因此如果您成功发送这些产品,您不会有任何想法。

在为一个主要的电子邮件营销人员工作之后,我可以告诉你,现在只发送邮件到SMTP服务器是不够的。所有主要的邮件服务提供商都会执行诸如批量发送邮件的要求发件人识别码。他们还计算消息并标记发送者,他们最终会在特定的时间内提交太多的消息。如果你想让你的邮件发送,而不是在垃圾邮件文件夹中,你需要做很多工作,并且启动一个专用服务器(专用IP),或者你应该使用能为你做一些工作的供应商。

+1

我不认为他想发送垃圾邮件,而是想知道是否可以依靠Googles SMTP服务器。 – 2012-08-11 15:50:46

+0

什么被视为批量电子邮件?我不是在讨论如何发送营销电子邮件给成千上万的人,但或多或​​少的,通过我的数据库运行,找到需要基于特定日期发送的提醒消息的联系人,然后向每个联系人发送自定义生成的消息一个提醒。这是否分类为批量邮寄?我还将使用javamail发送交易电子邮件,例如用户注册时。 – ryandlf 2012-08-11 15:53:04

+0

关注起来......是的,但我相信Google时间到了。我更关心的是,gmail的smtp是否用于像我这样的情况,或者如果我自己的smtp服务器更符合标准做法(考虑到我不想使用其他提供程序,如sendgrid)。和使用我自己的smtp服务器的好处。如果没有真正的好处并且gmail已经足够,那么花费部署我自己的服务器的能量是没有意义的......除非这样做有相当大的好处。 – ryandlf 2012-08-11 15:56:45