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