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();
}
});
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。