成都网站建设设计

将想法与焦点和您一起共享

android实现自动发送邮件的方法

这篇文章主要介绍了android实现自动发送邮件的方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

创新互联建站是一家集网站建设、成都网站设计、网站页面设计、网站优化SEO优化为一体的专业网络公司,已为成都等多地近百家企业提供网站建设服务。追求良好的浏览体验,以探求精品塑造与理念升华,设计最适合用户的网站页面。 合作只是第一步,服务才是根本,我们始终坚持讲诚信,负责任的原则,为您进行细心、贴心、认真的服务,与众多客户在蓬勃发展的市场环境中,互促共生。

需要添加activation.jar,additionnal.jar和mail.jar这三个包

首先是一个EmailSender类

import java.io.File;
 
import java.util.Date;
import java.util.Properties;
 
import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.Address;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
 
public class EmailSender {
 private Properties properties;
 private Session session;
 private Message message;
 private MimeMultipart multipart;
 
 public EmailSender() {
 super();
 this.properties = new Properties();
 }
 public void setProperties(String host,String post){
 //地址
 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 = new MimeMessage(session);
 this.multipart = new MimeMultipart("mixed");
 }
 /**
 * 设置收件人
 * @param receiver
 * @throws MessagingException
 */
 public void setReceiver(String[] receiver) throws MessagingException{
 Address[] address = new InternetAddress[receiver.length];
 for(int i=0;i

下面是mainactivity代码

import javax.mail.MessagingException;
import javax.mail.internet.AddressException;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
 
public class MainActivity extends Activity {
 
 private Button btnOK; 
  @Override
  protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    btnOK = (Button) findViewById(R.id.button);
    btnOK.setOnClickListener(new OnClickListener() {
      @Override
      public void onClick(View arg0) {
//        sendEmail();
       //耗时操作要起线程...有几个新手都是这个问题
        new Thread(new Runnable() {
 
       @Override
       public void run() {
        try {
        EmailSender sender = new EmailSender();
        //设置服务器地址和端口,网上搜的到
        sender.setProperties("smtp.163.com", "25");
        //分别设置发件人,邮件标题和文本内容
        sender.setMessage("你的163邮箱账号", "EmailSender", "Java Mail !");
        //设置收件人
        sender.setReceiver(new String[]{"收件人邮箱"});
        //添加附件
        //这个附件的路径是我手机里的啊,要发你得换成你手机里正确的路径
//        sender.addAttachment("/sdcard/DCIM/Camera/asd.jpg");
        //发送邮件
        sender.sendEmail("smtp.163.com", "你的163邮箱账号", "你的邮箱密码");//sender.setMessage("你的163邮箱账号", "EmailS//ender", "Java Mail !");这里面两个邮箱账号要一致
 
        } catch (AddressException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        } catch (MessagingException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        }
       }
       }).start();
      }
    });
 
  }
 
}

感谢你能够认真阅读完这篇文章,希望小编分享的“android实现自动发送邮件的方法”这篇文章对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,更多相关知识等着你来学习!


本文名称:android实现自动发送邮件的方法
标题路径:http://chengdu.cdxwcx.cn/article/pggoeg.html