简体   繁体   English

将 Java Pojo 转换或解析为 MimeMessage

[英]Convert or Parse Java Pojo to MimeMessage

Following code for you reference.以下代码供您参考。 Convert Pojo to MimeMessage in Java Am trying to sent Email Using Javax Mail Following code am used ,It's not converting InputStream to MimeMessage.在 Java 中将 Pojo 转换为 MimeMessage 我正在尝试使用 Javax 邮件发送电子邮件使用以下代码,它没有将 InputStream 转换为 MimeMessage。 All Mimemessage Attributes was null.所有 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());
}

I am using the Following code.我正在使用以下代码。

change改变

MailMessage MailMessage = new new MailMessage();

to

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

why don't you directly set the parameters in MimeMessage ?为什么不直接在MimeMessage设置参数? like喜欢

 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