-
Google Codeのサイトからjavamail-androidから
additionnal.jar
とmail.jar
とactivation.jar
をダウンロードする。 -
ダウンロードしたライブラリをインポートする。
-
AndroidManifest.xmlでインターネット許可する。
AndroidManifest.xml
<uses-permission android:name="android.permission.INTERNET" />
- 以下のコードを実装する
メール送信コード
// UIスレッド以外で実行
try {
final Properties property = new Properties();
property.put("mail.smtp.host", "smtp.gmail.com");
property.put("mail.host", "smtp.gmail.com");
property.put("mail.smtp.port", "465");
property.put("mail.smtp.socketFactory.port", "465");
property.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
// セッション
final Session session = Session.getInstance(property, new javax.mail.Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("[送信元アカウント]", "[パスワード]");
}
});
MimeMessage mimeMsg = new MimeMessage(session);
mimeMsg.setSubject("[メール件名]", "utf-8");
mimeMsg.setFrom(new InternetAddress("[送信元アカウント]@gmail.com"));
mimeMsg.setRecipient(javax.mail.Message.RecipientType.TO, new InternetAddress("[送信先メールアドレス]"));
// 添付ファイル
final MimeBodyPart txtPart = new MimeBodyPart();
txtPart.setText("[メール本文]", "utf-8");
final MimeBodyPart filePart = new MimeBodyPart();
File file = new File("[添付ファイルパス]");
FileDataSource fds = new FileDataSource(file);
DataHandler data = new DataHandler(fds);
filePart.setDataHandler(data);
filePart.setFileName(MimeUtility.encodeWord("[メール本文の添付ファイル名]"));
final Multipart mp = new MimeMultipart();
mp.addBodyPart(txtPart);
mp.addBodyPart(filePart);
mimeMsg.setContent(mp);
// メール送信する。
final Transport transport = session.getTransport("smtp");
transport.connect("[送信元アカウント]", "[パスワード]");
transport.sendMessage(mimeMsg, mimeMsg.getAllRecipients());
transport.close();
} catch (MessagingException e) {
} catch (UnsupportedEncodingException e) {
} finally {
}