Java发送邮件 - 如何使用"发送通过"

时间:2011-11-29 19:57:53

标签: email javamail

我们正在从本地系统发送邮件。 我们将IP列入白名单。 我们有一个场景,我们必须代表某人发送电子邮件。 例如:我们的电子邮件ID是:support@mycompany.com 但我们需要发送电子邮件地址:john@abc.com

当我们发送不同于地址时,接收邮件客户端显示“网络钓鱼”错误。 其中一个解决方案是在谷歌链接中使用“via”作为显示 https://mail.google.com/support/bin/answer.py?hl=en&ctx=mail&answer=185812 enter image description here

我们还希望在收件箱收件箱中以这样的方式显示消息。 任何指针都会对我们有所帮助。 提前致谢。 注意:我们使用localhost作为smtp。

1 个答案:

答案 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服务器创建别名。