繁体   English   中英

将 Java Pojo 转换或解析为 MimeMessage

[英]Convert or Parse Java Pojo to MimeMessage

以下代码供您参考。 在 Java 中将 Pojo 转换为 MimeMessage 我正在尝试使用 Javax 邮件发送电子邮件使用以下代码,它没有将 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());
}

我正在使用以下代码。

改变

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM