使用JavaMail API发送邮件时,是否需要SMTP服务器?

3
使用JavaMail API在Web服务器上发送邮件是否需要SMTP服务器?
当我使用localhost发送邮件时,它可以工作,但是当我将其上传到服务器上时,它无法工作并显示错误消息:

没有这样的SMTP提供程序

如何解决这个问题?
1个回答

3
SMTP服务器总是需要的,它可以发送电子邮件,就像HTTP服务器总是需要的以发送网页一样。这与您使用的网站和邮件API无关。 HTTP服务器不同于SMTP服务器,通常也不包括SMTP服务器。

您可以利用与现有电子邮件帐户相关联的SMTP服务器,例如来自您的ISP或公共邮箱(如Gmail、Yahoo等)。您可以在其文档中找到SMTP连接详细信息。您通常只需要知道主机名和端口号。登录详细信息与您的电子邮件帐户相同。

然而,对于ISP/公共邮箱,您仅限于在电子邮件From字段中使用自己的地址,并且通常还限制您在特定时间间隔内发送的电子邮件数量。如果您想避免这种情况,那么您需要安装自己的SMTP服务器,例如基于Java的Apache James或Microsoft Exchange等。

如果你有一个SMTP服务器,那么你就可以使用JavaMail API或者更加方便的Apache Commons Email发送电子邮件。


我忘记提醒了,如果您使用第三方网络托管,则需要知道大多数这些第三方网络托管提供商也提供SMTP服务器。您需要查阅托管功能并在其文档中找到连接详细信息。


谢谢,Blaus。请问,如果我使用 Gmail 邮箱地址,并通过现有的 JAVAMAIL API 使用主机名 smtp.gmail.com 和端口号 465 发送邮件,我能发送邮件吗? - Sourabh taletiya

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