2017-07-06 17 views
-3

タイトルにはすべてが表示されます JavaアプリケーションからPDFファイルを一般的な電子メールに送信するにはどうすればよいですか?Javaから電子メールでPDFを送信する方法

+1

を参照することができPDFBoxのすべての言及を削除するには、あなたの質問を編集してください。あなたの質問は、基本的にJavaでsmtp経由でファイルを送信する方法です。 –

答えて

1

あなたはこのリファレンスを使用して添付ファイルとしてPDFファイルに電子メールを送信することができます -

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

class SendMailWithAttachment 
{ 
    public static void main(String [] args) 
    {  
     String to="[email protected]"; //Email address of the recipient 
     final String user="[email protected]"; //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

+0

ありがとうございます。しかし、私はこのエラーが表示されます。 com.sun.mail.smtp.SMTPSendFailedException:550アクセスが拒否されました - 無効なHELO名を(RFC2821 4.1.1.1を参照) \t com.sun.mail.smtp.SMTPTransport.issueSendCommandで(SMTPTransport。 Javaの:1829)com.sun.mail.smtp.SMTPTransport.mailFrom(SMTPTransport.java:1368)com.sun.mail.smtp.SMTPTransport.sendMessageで \t(SMTPTransport.java:886)で \tのjavaxで \t .mail.Transport.send0(Transport.java:191) \t at javax.mail.Transport.send(Transport.java:120) \t at testemail.SendMailWithAttachment.main(SendMailWithAttachment.java:53) –

+0

@Da nielさん上記のコードを単純にコピーしたと思います。私は私の答えにコメントを追加しました。 –

関連する問題