2013年5月5日日曜日

GMailの送信サンプル ファイル添付

GMAILの送信サンプル

Java Mail for ANDROIDのライブラリをlibに追加してください。
インターネットのパーミッションも必要です。

 



import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Multipart;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import javax.mail.internet.MimeUtility;




   protected  void sendGmail(){ 
     //エラー対策 エラー時は以下を使用  
    //  StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder().permitAll().build());
       Properties props = new Properties();  
     
       props.put("mail.smtp.host", "smtp.gmail.com"); 
       props.put("mail.host", "smtp.gmail.com");       
       props.put("mail.smtp.port", "587"); 
       props.put("mail.smtp.auth", "true"); 
       props.put("mail.smtp.starttls.enable", "true");
     
         Session session = Session.getDefaultInstance(props);  
       session.setDebug(true);  
     
       MimeMessage msg = new MimeMessage(session);  
     
     
     
       try {  
        // 件名
           msg.setSubject(daimei, "UTF-8");  
           msg.setFrom(new InternetAddress(from)); 
           msg.setRecipient(Message.RecipientType.TO, new InternetAddress(to)); 
     
     
          Multipart mixedPart = new MimeMultipart("mixed");            
           
           
           // 本文
           MimeBodyPart textBodyPart = new MimeBodyPart();  
           textBodyPart.setText(honbun, "UTF-8", "plain");  
           textBodyPart.setHeader("Content-Transfer-Encoding", "base64");  
           mixedPart.addBodyPart(textBodyPart);  
     
     
           //添付ファイル  
           MimeBodyPart imageBodyPart = new MimeBodyPart();  
           DataSource dataSource = new FileDataSource(sdcard+gazo+".jpg");  
           DataHandler dataHandler=new DataHandler(dataSource);  
           imageBodyPart.setDataHandler(dataHandler);  
           try {  
               imageBodyPart.setFileName(MimeUtility.encodeWord(gazo+".jpg"));  
           } catch (UnsupportedEncodingException e) {  
                e.printStackTrace();  
               eNumber=1;
           }  
           imageBodyPart.setDisposition("attachment ");   
           mixedPart.addBodyPart(imageBodyPart);  
     

           msg.setContent(mixedPart);  
     
     
           Transport t = session.getTransport("smtp");  
           t.connect(from,fpass); //Gmailアカウント設定  
           t.sendMessage(msg, msg.getAllRecipients());  
     
       } catch (MessagingException e) {  
           e.printStackTrace();  
         }  
     
   

0 件のコメント:

コメントを投稿