【问题标题】:Java send mail - how to use "Send via"Java 发送邮件 - 如何使用“发送方式”
【发布时间】:2011-11-29 19:57:52
【问题描述】:

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

当我们使用不同的地址发送时,接收邮件客户端显示“网络钓鱼”错误。 解决方案之一是使用谷歌链接中显示的“通过” https://mail.google.com/support/bin/answer.py?hl=en&ctx=mail&answer=185812

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

【问题讨论】:

    标签: email jakarta-mail


    【解决方案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 服务器创建别名。

    【讨论】:

    • 嗨,Shashwat,感谢您提供的信息。你能告诉我设置“via”的实际标题吗?我搜索也无法从 java mail api 获取信息。再次感谢。
    • public void postMail( String recipients[ ], String subject, String message , String from) throws MessagingException 这里最后一个参数是 String from,试着在这里给出你的 from 地址并检查我认为它会起作用
    • 嗨,Shaswath,从地址提供正在将邮件标记为垃圾邮件或网络钓鱼邮件
    • 您需要拥有邮件服务器的真实域,因为如果没有注册和验证,邮件将进入垃圾邮件。
    • 我看不到这个问题的答案。他问“如何代表”发送邮件?并且您回答他如何转发将被标记为网络钓鱼的消息!
    猜你喜欢
    • 2012-03-27
    • 2017-03-02
    • 2013-11-04
    • 2013-04-13
    • 2014-04-26
    • 2019-03-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多