Android 后台发送邮件到指定邮箱
这个主要是搜集app报错信息之后将信息上传到邮箱,请不要用做其他非法用途。代码请参考:
MailUtils.Java publicclassMailUtils{ /** *创建一封只包含文本的简单邮件 * *@paramsession和服务器交互的会话 *@paramsendMail发件人邮箱 *@paramreceiveMail收件人邮箱 *@return *@throwsException */ publicstaticMimeMessagecreateMimeMessage(Sessionsession,StringsendMail,StringreceiveMail)throwsException{ //1.创建一封邮件 MimeMessagemessage=newMimeMessage(session); //2.From:发件人 message.setFrom(newInternetAddress(sendMail,"test","UTF-8")); //3.To:收件人(可以增加多个收件人、抄送、密送) message.setRecipient(MimeMessage.RecipientType.TO,newInternetAddress(receiveMail,"亲爱的开发者","UTF-8")); //4.Subject:邮件主题 message.setSubject("客户端错误信息","UTF-8"); //5.Content:邮件正文(可以使用html标签) message.setContent("这是一条测试邮件","text/html;charset=UTF-8"); //6.设置发件时间 message.setSentDate(newDate()); //7.保存设置 message.saveChanges(); returnmessage; } } MainActivity.java publicclassMainActivityextendsAppCompatActivity{ privateButtonbutton; @Override protectedvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button=(Button)findViewById(R.id.button); button.setOnClickListener(newView.OnClickListener(){ @Override publicvoidonClick(Viewv){ newThread(newRunnable(){ @Override publicvoidrun(){ try{ sendMail(); }catch(Exceptione){ e.printStackTrace(); } } }).start(); } }); } privatevoidsendMail()throwsException{ //1.创建参数配置,用于连接邮件服务器的参数配置 Propertiesprops=newProperties();//参数配置 props.setProperty("mail.transport.protocol","smtp");//使用的协议(JavaMail规范要求) props.setProperty("mail.smtp.host","smtp.163.com");//发件人的邮箱的SMTP服务器地址 props.setProperty("mail.smtp.auth","true");//需要请求认证 //如果遇到ssl类错误,请打开一下代码 /*finalStringsmtpPort="465"; props.setProperty("mail.smtp.port",smtpPort); props.setProperty("mail.smtp.socketFactory.class","javax.NET.ssl.SSLSocketFactory"); props.setProperty("mail.smtp.socketFactory.fallback","false"); props.setProperty("mail.smtp.socketFactory.port",smtpPort);*/ //2.根据配置创建会话对象,用于和邮件服务器交互 Sessionsession=Session.getDefaultInstance(props); //设置为debug模式,可以查看详细的发送log session.setDebug(true); //3.创建一封邮件 MimeMessagemessage=MailUtils.createMimeMessage(session,"发送邮件的邮箱","接受邮件的邮箱");//我这里是以163邮箱为发信邮箱测试通过 //4.根据Session获取邮件传输对象 Transporttransport=session.getTransport(); transport.connect("发送邮件邮箱","发送邮件邮箱登录密码"); //6.发送邮件,发到所有的收件地址,message.getAllRecipients()获取到的是在创建邮件对象时添加的所有收件人,抄送人,密送人 transport.sendMessage(message,message.getAllRecipients()); //7.关闭连接 transport.close(); } } //build.grald中添加如下两行配置 compile'com.sun.mail:Android-mail:1.5.5' compile'com.sun.mail:android-activation:1.5.5'
总结
以上所述是小编给大家介绍的Android后台发送邮件到指定邮箱,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!