添付ファイルが送れない
いつもお世話になっています。
Eclipse(Juno) を使って、Android のメールアプリを作っています。
PCの OS は Windows7 64bit です。
いろいろ、教えていただいて、メールの受信、添付されているファイルの取り出しはできました。
今回は、添付ファイル付のメールの送信です。
ネットにあったソースコードを使って、画像データ "mdata05.bin" を添付ファイルにして
メール送信を試しています。
DDMS でみると、files のところに、"mdata05.bin" は存在します。
次のコードで送信すると、
private void sendmail() {
try{
String to = "宛先";
String from = " Gメールアドレス";
String filename = "mdata05.bmp";
Properties property = new Properties();
//GmailのSMTPを使う場合
property.put("mail.smtp.auth", "true");
property.put("mail.smtp.starttls.enable", "true");
property.put("mail.smtp.host", "smtp.gmail.com");
property.put("mail.smtp.port", "587");
Session session = Session.getInstance(property, new javax.mail.Authenticator(){
protected PasswordAuthentication getPasswordAuthentication(){
return new PasswordAuthentication("Gメールアドレス", "パスワード");
}
});
MimeMessage msg = new MimeMessage(session);
msg.setFrom(new InternetAddress(from));
InternetAddress[] address = InternetAddress.parse(to);
msg.setRecipients(Message.RecipientType.TO, address);
msg.setSubject("JavaMail APIs Test", "ISO-2022-JP");
msg.setSentDate(new Date());
/* 添付ファイルの処理 */
MimeBodyPart mbp1 = new MimeBodyPart();
mbp1.setText("msgTextテスト", "ISO-2022-JP");
MimeBodyPart mbp2 = new MimeBodyPart();
FileDataSource fds = new FileDataSource("mdata05.bmp");//filename);
mbp2.setDataHandler(new DataHandler(fds));
mbp2.setFileName(MimeUtility.encodeWord(fds.getName()));
Multipart mp = new MimeMultipart();
mp.addBodyPart(mbp1);
mp.addBodyPart(mbp2);
msg.setContent(mp);
Transport.send(msg);
}catch(MessagingException mex){
System.out.println("¥n--Exception handling in msgsendsample.java");
mex.printStackTrace();
}catch(java.io.UnsupportedEncodingException uex){
}
MessagingException mex のエラーの内容としては、
IOException while sending message"
とあって、詳しく見ると
"/mdata05.bmp: open failed: ENOENT (No such file or directory)"
となっています。
添付ファイルが送れない原因は何でしょうか?
なお、添付ファイルの部分を削除すれば、本文だけのメールは送信できます。
ご指導、よろしくお願いします。