android实现自动发送邮件
本文实例为大家分享了实现了一个android自动发送邮件的demo。支持163,qq邮箱
需要添加activation.jar,additionnal.jar和mail.jar这三个包
首先是一个EmailSender类
importjava.io.File; importjava.util.Date; importjava.util.Properties; importjavax.activation.DataHandler; importjavax.activation.FileDataSource; importjavax.mail.Address; importjavax.mail.Message; importjavax.mail.MessagingException; importjavax.mail.Session; importjavax.mail.Transport; importjavax.mail.internet.AddressException; importjavax.mail.internet.InternetAddress; importjavax.mail.internet.MimeBodyPart; importjavax.mail.internet.MimeMessage; importjavax.mail.internet.MimeMultipart; publicclassEmailSender{ privatePropertiesproperties; privateSessionsession; privateMessagemessage; privateMimeMultipartmultipart; publicEmailSender(){ super(); this.properties=newProperties(); } publicvoidsetProperties(Stringhost,Stringpost){ //地址 this.properties.put("mail.smtp.host",host); //端口号 this.properties.put("mail.smtp.post",post); //是否验证 this.properties.put("mail.smtp.auth",true); this.session=Session.getInstance(properties); this.message=newMimeMessage(session); this.multipart=newMimeMultipart("mixed"); } /** *设置收件人 *@paramreceiver *@throwsMessagingException */ publicvoidsetReceiver(String[]receiver)throwsMessagingException{ Address[]address=newInternetAddress[receiver.length]; for(inti=0;i下面是mainactivity代码
importjavax.mail.MessagingException; importjavax.mail.internet.AddressException; importandroid.app.Activity; importandroid.os.Bundle; importandroid.view.View; importandroid.view.View.OnClickListener; importandroid.widget.Button; publicclassMainActivityextendsActivity{ privateButtonbtnOK; @Override protectedvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btnOK=(Button)findViewById(R.id.button); btnOK.setOnClickListener(newOnClickListener(){ @Override publicvoidonClick(Viewarg0){ //sendEmail(); //耗时操作要起线程...有几个新手都是这个问题 newThread(newRunnable(){ @Override publicvoidrun(){ try{ EmailSendersender=newEmailSender(); //设置服务器地址和端口,网上搜的到 sender.setProperties("smtp.163.com","25"); //分别设置发件人,邮件标题和文本内容 sender.setMessage("你的163邮箱账号","EmailSender","JavaMail!"); //设置收件人 sender.setReceiver(newString[]{"收件人邮箱"}); //添加附件 //这个附件的路径是我手机里的啊,要发你得换成你手机里正确的路径 //sender.addAttachment("/sdcard/DCIM/Camera/asd.jpg"); //发送邮件 sender.sendEmail("smtp.163.com","你的163邮箱账号","你的邮箱密码");//sender.setMessage("你的163邮箱账号","EmailS//ender","JavaMail!");这里面两个邮箱账号要一致 }catch(AddressExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); }catch(MessagingExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } } }).start(); } }); } } 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。