1

我有一个在线表格,允许用户通过电子邮件向公司投诉。为了测试它,我使用了 gmail smtp 作为我的主机。当发件人也是 gmail 时,我可以将邮件接收到指定的电子邮件帐户,但我希望“发件人”不仅限于 gmail 帐户。似乎 smtp 仅适用于从同一服务器发送电子邮件?

示例:如果发件人是 abc@gmail.com 并且公司电子邮件是 company@gmail.com,我的表单效果很好。

但是,如果为发件人输入 xyz@yahoo.com,则收件人 company@gmail.com 永远不会得到它。

任何帮助将不胜感激。如果需要,我也可以提供我的代码。

4

3 回答 3

1

您的问题是使用 SMTP 时的常见安全限制。传出的 SMTP 电子邮件只能包含属于发件人的“发件人”地址。如果您违反此规则,您的电子邮件可能会被视为垃圾邮件。

以下将允许您的收件人回复备用地址。

Properties properties = new Properties();
props.put("mail.smtp.from", "abc@gmail.com");
Session session = Session.getDefaultInstance(props, null);
MimeMessage m = new MimeMessage(session);
m.addFrom(InternetAddress.parse("xyz@yahoo.com"));
m.setReplyTo(InternetAddress.parse("xyz@yahoo.com")); 

也可以看看

于 2012-12-19T20:06:58.840 回答
0

最好使用服务器上拥有该应用程序的用户身份将消息发送到您公司的邮件服务器,并将客户在在线表单中提供的信息作为数据包含在您发送的消息中。该消息看起来不像来自客户,但实际上它不是来自客户,因为它不是使用客户的邮件服务器发送的。

于 2012-12-19T20:51:19.647 回答
0

好吧,您将必须拥有另一封电子邮件并将其设置为与 gmail 一起使用,请在此处查看更多详细信息。

于 2012-12-19T20:06:07.570 回答