我们正在从本地系统发送邮件。 我们将IP列入白名单。 我们有一个场景,我们必须代表某人发送电子邮件。 例如:我们的电子邮件ID是:support@mycompany.com 但我们需要发送电子邮件地址:john@abc.com
当我们发送不同于地址时,接收邮件客户端显示“网络钓鱼”错误。 其中一个解决方案是在谷歌链接中使用“via”作为显示 https://mail.google.com/support/bin/answer.py?hl=en&ctx=mail&answer=185812
我们还希望在收件箱收件箱中以这样的方式显示消息。 任何指针都会对我们有所帮助。 提前致谢。 注意:我们使用localhost作为smtp。
答案 0 :(得分:1)
Read about email headers. you can add email headers while creating the mail message at runtime.
import javax.mail.*;
import javax.mail.internet.*;
import java.util.*;
public void postMail( String recipients[ ], String subject, String message , String from) throws MessagingException
{
boolean debug = false;
//Set the host smtp address
Properties props = new Properties();
props.put("mail.smtp.host", "smtp.jcom.net");
// create some properties and get the default Session
Session session = Session.getDefaultInstance(props, null);
session.setDebug(debug);
// create a message
Message msg = new MimeMessage(session);
// set the from and to address
InternetAddress addressFrom = new InternetAddress(from);
msg.setFrom(addressFrom);
InternetAddress[] addressTo = new InternetAddress[recipients.length];
for (int i = 0; i < recipients.length; i++)
{
addressTo[i] = new InternetAddress(recipients[i]);
}
msg.setRecipients(Message.RecipientType.TO, addressTo);
// Optional : You can also set your custom headers in the Email if you Want
msg.addHeader("MyHeaderName", "myHeaderValue");
// Setting the Subject and Content Type
msg.setSubject(subject);
msg.setContent(message, "text/plain");
Transport.send(msg);
}
for further reading check this :
http://www.javacommerce.com/displaypage.jsp?name=javamail.sql&id=18274 http://javamail.kenai.com/nonav/javadocs/javax/mail/internet/package-summary.html @http://javamail.kenai.com/nonav/javadocs/javax/mail/internet/MimeMessage.html
您也可以为smtp服务器创建别名。