【发布时间】:2011-03-17 07:21:22
【问题描述】:
是否需要 SMTP 服务器才能使用 JavaMail API 通过 Web 服务器发送邮件?
当我使用localhost 发送邮件时,它可以工作,但是当我将它上传到服务器上时它不起作用并给出错误:
没有这样的 smtp 提供商
我该如何解决这个问题?
【问题讨论】:
是否需要 SMTP 服务器才能使用 JavaMail API 通过 Web 服务器发送邮件?
当我使用localhost 发送邮件时,它可以工作,但是当我将它上传到服务器上时它不起作用并给出错误:
没有这样的 smtp 提供商
我该如何解决这个问题?
【问题讨论】:
始终需要 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 发送电子邮件。
我忘记补充了,如果您使用的是第 3 方虚拟主机,那么很高兴知道大多数第 3 方虚拟主机提供商也提供 SMTP 服务器。您想查阅托管功能并在其文档中了解连接详细信息。
【讨论】: