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 件のコメント:
コメントを投稿