我要求用户成功登录后需要发送/接收电子邮件,点击电子邮件验证后我将激活用户。我没有为此要求发送/接收邮件的专用smtp服务器。现在我正在为初始启动选项寻找免费服务,我通过这个http://www.mkyong.com/java/javamail-api-sending-email-via-gmail-smtp-example/通过gmail发送电子邮件。我的问题是我可以使用gmail smtp服务接收邮件吗?
答案 0 :(得分:3)
简答:不,不是SMTP。但可能是IMAP / POP。
长答案:SMTP仅用于在MTA(邮件传输代理)之间发送电子邮件。在这种情况下,您必须使用IMAP或POP从您的电子邮件提供商处下载电子邮件。
您必须定期连接和检查,因为没有MTA服务,您无法收到推送给您的电子邮件。大多数个人ISP阻止出站端口25,因此设置MTA可能会很棘手,因为你必须找出你的提供商SMTP中继(如果他们甚至有一个!)
请参阅此处以启用对gmail的IMAP / POP支持: https://support.google.com/mail/troubleshooter/1668960?hl=en
Google会为您找到适合与java一起使用的imap / pop客户端库。
修改强>
如果您正在为网站注册执行常规电子邮件验证步骤,则无需接收用户发送的电子邮件。您向他们发送一封电子邮件,其中包含指向您网站验证网址的链接。该链接包含一个预定的ID,比如编码到URL中的用户名+电子邮件的sha1总和。用户单击该链接并在您的站点上打开一个特定页面,您可以在该页面上加载页面时验证ID。这就是通常的做法。这样您就不需要以编程方式接收任何电子邮件。
除非通过电子邮件接收它是客户的特定要求,在这种情况下您可以忽略此编辑。 :)