代码之家  ›  专栏  ›  技术社区  ›  abeger

在javax.mail.mimessage中设置发件人名称?

  •  42
  • abeger  · 技术社区  · 15 年前

    目前,我们的应用程序使用javax.mail发送电子邮件,使用javax.mail.MailMessage。我们通过以下方式设置电子邮件的发件人标题:

    Message msg = new MimeMessage(mailSession);
    msg.setFrom(new InternetAddress("mail@companyxyz.com"));
    

    这很好,但是我们想让“From”部分更加用户友好。当前,收到电子邮件的人将看到“mail@companyxyz.com在收件箱的“发件人”部分。相反,我们希望他们在那里看到“XYZ公司”。我想这可能是通过addHeader()方法完成的,但我不确定头的名称是什么。

    4 回复  |  直到 15 年前
        1
  •  114
  •   Milan    11 年前

    好的,阅读所有相关课程的文档会很有帮助。正确的语法应该是

    Message msg = new MimeMessage(mailSession);
    msg.setFrom(new InternetAddress("mail@companyxyz.com", "Company XYZ"));
    

    资料来源: https://javamail.java.net/nonav/docs/api/javax/mail/internet/InternetAddress.html

        2
  •  22
  •   checklist Nishanth Shankar    11 年前

    Message msg = new MimeMessage(mailSession);
    msg.setFrom(new InternetAddress("Company XYZ <mail@companyxyz.com>"));
    
        3
  •  3
  •   Adrian Adzik    10 年前

    如果我使用带有特殊字符(如\u00FA)的本地化文本,如果我只使用了

    MimeMessage m = new MimeMessage(session);
    m.setFrom();
    

    MimeMessage m = new MimeMessage(session);
                m.setFrom(new InternetAddress(session.getProperty("mail.from"), session.getProperty("mail.from.alias"),"UTF8"));
    

    裁判: https://javamail.java.net/nonav/docs/api/javax/mail/internet/InternetAddress.html#InternetAddress(java.lang.String,%20java.lang.String,%20java.lang.String)

        4
  •  2
  •   clinomaniac    6 年前
    ic = new InitialContext();
    
    final Session session = (Session) ic.lookupLink(snName);
    final Properties props = session.getProperties();
    
    props.put("mail.from", mailFrom); //blabla@mail.com
    props.put("mail.from.alias", mailName);//"joao Ninguem"
    
    // Create a message with the specified information.
    final MimeMessage msg = new MimeMessage(session);
    msg.setSubject(subject);
    msg.setSentDate(new Date());
    
    msg.setFrom(new InternetAddress(session.getProperty("mail.from"), session.getProperty("mail.from.alias"), "UTF8"));
    
    
    msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(mailTo, false));
    msg.setContent(body, "text/html");
    
    // Create a transport.
    Transport.send(msg);
    
    推荐文章