package com.android;
import java.util.Properties;
import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.mail.Message;
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.util.ByteArrayDataSource;
import android.app.Activity;
import android.hardware.Camera;
import android.os.Bundle;
import android.os.StrictMode;
public class AndroidTestActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Camera camera = Camera.open(0);//カメラを開く
camera.takePicture(null, null, mPictureListener);
setContentView(R.layout.main);
}
private Camera.PictureCallback mPictureListener = new Camera.PictureCallback() {
public void onPictureTaken(byte[] data, Camera camera) {
// メールで画像を送る
StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder().permitAll().build());
final String mUser = "kameji2000@gmail.com";
final String mPassword = "xxxx";
Properties props = new Properties();
props.put("mail.smtp.host", "smtp.gmail.com");// SMTPサーバ名
props.put("mail.smtp.port", "587"); // SMTPサーバポート
props.put("mail.smtp.auth", "true");// smtp auth
props.put("mail.smtp.starttls.enable", "true");// STTLS
Session sess = Session.getInstance(props);
MimeMessage mimeMsg = new MimeMessage(sess);
try {
mimeMsg.setFrom(new InternetAddress(mUser));//Fromアドレス
mimeMsg.setRecipient(Message.RecipientType.TO, new InternetAddress(mUser));//送信先アドレス
mimeMsg.setContent("body", "text/plain; utf-8");
mimeMsg.setHeader("Content-Transfer-Encoding", "7bit");
mimeMsg.setSubject("テスト送信");//件名
//mimeMsg.setText("アンドロイドからの送信", "utf-8");//本文
MimeBodyPart textPart = new MimeBodyPart();
textPart.setText("アンドロイドからの送信", "utf-8");//本文
//4, 画像ファイルを添付&設定
MimeBodyPart image = new MimeBodyPart();
DataSource ds = new ByteArrayDataSource(data, "application/x-any");
image.setDataHandler(new DataHandler(ds));
image.setFileName("camera.jpg");
MimeMultipart body = new MimeMultipart();
body.addBodyPart(textPart);
body.addBodyPart(image);
mimeMsg.setContent(body);
Transport transport = sess.getTransport("smtp");
transport.connect(mUser, mPassword);
transport.sendMessage(mimeMsg, mimeMsg.getAllRecipients());// メール送信
transport.close();
} catch (Exception e) {
e.printStackTrace();
}
}
};
}
2011年12月18日日曜日
カメラで撮影した画像をメールで送る
JavaMailを利用してgoogleのGmailにメールを送る場合
関連記事
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿