Как отправить pdf по электронной почте с Java

Заголовок говорит сам за себя: как отправить файл pdf на обычное электронное письмо из приложения Java?

2 ответа

Вы можете отправить E-Mail с PDF-файлом в качестве вложения, используя ссылку на это -

import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;  

class SendMailWithAttachment
{ 
    public static void main(String [] args)
    {    
        String to="XYZ@abc.com"; //Email address of the recipient
        final String user="ABC@XYZ.com"; //Email address of sender
        final String password="xxxxx";  //Password of the sender's email

        //Get the session object      
        Properties properties = System.getProperties();  

        //Here pass your smtp server url
        properties.setProperty("mail.smtp.host", "mail.javatpoint.com");   
        properties.put("mail.smtp.auth", "true");    

        Session session = Session.getDefaultInstance(properties,   
                new javax.mail.Authenticator() {   
            protected PasswordAuthentication getPasswordAuthentication() {   
                return new PasswordAuthentication(user,password);    }   });       

        //Compose message      
        try{    
            MimeMessage message = new MimeMessage(session);    
            message.setFrom(new InternetAddress(user));     
            message.addRecipient(Message.RecipientType.TO,new InternetAddress(to));    
            message.setSubject("Message Aleart");         

            //Create MimeBodyPart object and set your message text        
            BodyPart messageBodyPart1 = new MimeBodyPart();     
            messageBodyPart1.setText("This is message body");          

            //Create new MimeBodyPart object and set DataHandler object to this object        
            MimeBodyPart messageBodyPart2 = new MimeBodyPart();      
            String filename = "YourPDFFileName.pdf";//change accordingly     
            DataSource source = new FileDataSource(filename);    
            messageBodyPart2.setDataHandler(new DataHandler(source));    
            messageBodyPart2.setFileName(filename);             

            //Create Multipart object and add MimeBodyPart objects to this object        
            Multipart multipart = new MimeMultipart();    
            multipart.addBodyPart(messageBodyPart1);     
            multipart.addBodyPart(messageBodyPart2);      

            //Set the multiplart object to the message object    
            message.setContent(multipart );        

            //Send message    
            Transport.send(message);      
            System.out.println("message sent....");   

        }catch (MessagingException ex) {ex.printStackTrace();}  
    }
} 

Вы также можете обратиться к JavaTPoint

удалите часть: //Здесь передайте URL-адрес вашего smtp-сервера properties.setProperty("mail.smtp.host", "mail.javatpoint.com");
properties.put("mail.smtp.auth", "true");

      And paste the code below : 

Properties props = new Properties();
props.put("mail.smtp.auth", true);
props.put("mail.smtp.starttls.enable", true);
props.put("mail.smtp.host", "smtp.gmail.com");
props.put("mail.smtp.socketFactory", "587");
props.put("mail.smtp.port", "587");  //587
props.put("mail.smtp.ssl.trust", "smtp.gmail.com");
Другие вопросы по тегам