HTML formatted text in an email in Java

前端 未结 4 471
花落未央
花落未央 2021-01-15 22:12
     try{
        String msg=\"Happy BirthDay Dear, \"+name.toUpperCase()+\"  !!! Have a Great Day. \\n \\n Thank You \\n Seva Development \";
            


        
相关标签:
4条回答
  • 2021-01-15 22:36

    Since you are using MimeMessageHelper .Try below.

     MimeMessageHelper helper = new MimeMessageHelper(message,true);
     helper.setText(msg, true);
    

    Use MimeMessageHelper.setText(emailContent,true) method. The boolean true flag indicates html content.

    0 讨论(0)
  • 2021-01-15 22:43

    Try setting helper.setContent(htmlMsg, "text/html");

    0 讨论(0)
  • 2021-01-15 22:43

    You didn't specified content type of mail. In which case it is sent in plain.

    Try setting content type

    helper.setContent(htmlMsg, "text/html;  charset=\"utf-8\"");
    

    Now when you open this mail with any email client, it will read it in html format.

    You can also set multiple formats by using MimeMultitype

    Multipart multipart = new MimeMultipart("alternative");
    BodyPart messageBodyPart;
    
    // PLAIN TEXT
    messageBodyPart = new MimeBodyPart();
    messageBodyPart.setContent(textBody, "text/plain; charset=\"utf-8\"");
    multipart.addBodyPart(messageBodyPart);
    
    // HTML TEXT
    messageBodyPart = new MimeBodyPart();
    messageBodyPart.setContent(htmlBody, "text/html; charset=\"utf-8\"");
    multipart.addBodyPart(messageBodyPart);
    
    message.setContent(multipart);
    
    0 讨论(0)
  • 2021-01-15 22:45

    This worked for me, I have changed two line code, Thank you all for your contribution

    private void sendEmail(String email,String name) throws Exception{
        Thread thread=new Thread(){
            @Override
            public void run() {
    
                try{
                    String msg="Dear<b> "+name.toUpperCase()+" </b>,<p> On Behalf of someone we would like to wish you a Many many Happy returns of the day</p> <p style=color:red;>Happy Birthday and Have a Great Day.</p>\n \n Thank You!";
    
                    MimeMessage message = mailSender.createMimeMessage();
                    MimeMessageHelper helper = new MimeMessageHelper(message,true);
                    helper.setTo(email);
                    helper.setText(msg);
                    message.setContent(msg, "text/html");                   
                    helper.setSubject("BirthDay");
                    mailSender.send(message);
    
                }catch (Exception e){}
            }
        };
        thread.start();
    
    }
    

    0 讨论(0)
提交回复
热议问题