【问题标题】:Convert or Parse Java Pojo to MimeMessage将 Java Pojo 转换或解析为 MimeMessage
【发布时间】:2019-08-17 19:07:09
【问题描述】:

以下代码供您参考。在 Java 中将 Pojo 转换为 MimeMessage 我正在尝试使用 Javax Mail 发送电子邮件使用以下代码,它没有将 InputStream 转换为 MimeMessage。所有 Mimemessage 属性均为空。

public class MailMessage
{
    private String fromName;
    private String fromAddress;
    private String subject;
    private String body;
    private boolean attachment;
    private String attachmentName;
    private String attachmentContent;
    private String attachmentType;
    private List<MailRecipient> mailRecipients;
}

public class sentEmail 
{
  public static void main(String args[])    
  {
     MailMessage MailMessage = new new MailMessage();
     List<MailRecipient> mailRecipients = new ArrayList<MailRecipient>();
     MailRecipient mailRecipient = new MailRecipient();
     MailRecipientType mailRecipientType = new MailRecipientType();
     byte[] bytes = null;           
     ByteArrayOutputStream bos = null;
     ObjectOutputStream oos = null;

     mailMessage.setFromName("Sender Name");         
     mailMessage.setFromAddress("xxx@gmail.com");                
     mailMessage.setSubject("Maile Subject");                
     mailMessage.setBody(rs.getString("Hi This is testing email"));

     mailRecipient.setName("Recipient_name");
     mailRecipient.setAddress("yyyy@gmail.com");

     mailRecipientType.setName("TO");

     mailRecipients.add(mailRecipient);
     mailMessage.setMailRecipients(mailRecipients);

     bos = new ByteArrayOutputStream();
     oos = new ObjectOutputStream(bos);
     oos.writeObject(mailMessage);
     oos.flush();
     bytes = bos.toByteArray();

     javax.mail.Session session =javax.mail.Session.getDefaultInstance(props);
     InputStream str = new ByteArrayInputStream(bytes);
     Transport transport = session.getTransport();
     MimeMessage msg = new MimeMessage(session, str);

      transport.connect("url", "userName",  "Password");



      transport.sendMessage(msg, msg.getAllRecipients());
}

我正在使用以下代码。

【问题讨论】:

    标签: java pojo mime-message


    【解决方案1】:

    改变

    MailMessage MailMessage = new new MailMessage();
    

    MailMessage mailMessage = new new MailMessage(); // object name start with small m because you are using it onward.
    

    为什么不直接设置MimeMessage中的参数呢?喜欢

     MimeMessage message= new MimeMessage(session);
        message.setFrom("Sender Name");
        message.setFrom("xxx@gmail.com");
        message.setSubject("Maile Subject");
        message.setContent(rs.getString("Hi This is testing email"));
        //Rest of your code
    
       // and send
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-26
      • 1970-01-01
      • 2020-04-27
      • 2019-06-25
      • 2014-12-08
      • 2019-09-05
      相关资源
      最近更新 更多