是否需要SMTP服务器通过Web服务器使用JavaMail API发送邮件?

是否需要使用JavaMail API通过Web服务器发送邮件的SMTP服务器? 当我使用localhost发送邮件时,它可以正常工作,但是当我在服务器上传它时它不起作用并给出错误:

没有这样的smtp提供商

我怎么解决这个问题?

始终需要SMTP服务器才能发送电子邮件,因为始终需要HTTP服务器才能发送网页。 这与您使用的网站和邮件API无关。 HTTP服务器与SMTP服务器不同,通常不包括SMTP服务器。

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

但是,对于ISP /公共邮箱,您只能在电子邮件的“ From字段中使用您自己的地址,并且通常还会按照您允许以特定间隔发送的电子邮件数量。 如果你想解决这个问题,那么你需要安装自己的SMTP服务器,例如Apache James ,它是基于Java的,或者是Microsoft Exchange等。

一旦拥有了SMTP服务器,那么您将能够使用JavaMail API或最终更方便的Apache Commons Email发送电子邮件 。


我忘了添加,如果您使用第三方虚拟主机,那么很高兴知道大多数第三方虚拟主机提供商也提供了SMTP服务器。 您想查阅托管function并在其文档中查看连接详细信息。