Android 后台发送邮件到指定邮箱
发布时间 - 2026-01-11 02:36:44 点击率:次这个主要是搜集app报错信息之后将信息上传到邮箱,请不要用做其他非法用途。代码请参考:
MailUtils.Java
public class MailUtils {
/**
* 创建一封只包含文本的简单邮件
*
* @param session 和服务器交互的会话
* @param sendMail 发件人邮箱
* @param receiveMail 收件人邮箱
* @return
* @throws Exception
*/
public static MimeMessage createMimeMessage(Session session, String sendMail, String receiveMail) throws Exception {
// 1. 创建一封邮件
MimeMessage message = new MimeMessage(session);
// 2. From: 发件人
message.setFrom(new InternetAddress(sendMail, "test", "UTF-8"));
// 3. To: 收件人(可以增加多个收件人、抄送、密送)
message.setRecipient(MimeMessage.RecipientType.TO, new InternetAddress(receiveMail, "亲爱的开发者", "UTF-8"));
// 4. Subject: 邮件主题
message.setSubject("客户端错误信息", "UTF-8");
// 5. Content: 邮件正文(可以使用html标签)
message.setContent("这是一条测试邮件", "text/html;charset=UTF-8");
// 6. 设置发件时间
message.setSentDate(new Date());
// 7. 保存设置
message.saveChanges();
return message;
}
}
MainActivity.java
public class MainActivity extends AppCompatActivity {
private Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = (Button) findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new Thread(new Runnable() {
@Override
public void run() {
try {
sendMail();
}catch (Exception e){
e.printStackTrace();
}
}
}).start();
}
});
}
private void sendMail() throws Exception{
// 1. 创建参数配置, 用于连接邮件服务器的参数配置
Properties props = new Properties(); // 参数配置
props.setProperty("mail.transport.protocol", "smtp"); // 使用的协议(JavaMail规范要求)
props.setProperty("mail.smtp.host", "smtp.163.com"); // 发件人的邮箱的 SMTP 服务器地址
props.setProperty("mail.smtp.auth", "true"); // 需要请求认证
//如果遇到ssl类错误,请打开一下代码
/*final String smtpPort = "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. 根据配置创建会话对象, 用于和邮件服务器交互
Session session = Session.getDefaultInstance(props);
// 设置为debug模式, 可以查看详细的发送 log
session.setDebug(true);
// 3. 创建一封邮件
MimeMessage message = MailUtils.createMimeMessage(session, "发送邮件的邮箱", "接受邮件的邮箱");//我这里是以163邮箱为发信邮箱测试通过
// 4. 根据 Session 获取邮件传输对象
Transport transport = 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 后台发送邮件到指定邮箱,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# android
# 发送邮件到指定邮箱
# Android快速实现发送邮件实例
# Android发送邮件的方法实例详解
# Android中使用Service实现后台发送邮件功能实例
# Android监听手机电话状态与发送邮件通知来电号码的方法(基于PhoneStateListene实
# Android 后台发送邮件示例 (收集应用异常信息+Demo代码)
# Android开发中怎样调用系统Email发送邮件(多种调用方式)
# android实现自动发送邮件
# 发送邮件
# 一封
# 小编
# 邮件服务器
# 送人
# 这是
# 是在
# 多个
# 在此
# 给大家
# 可以使用
# 后将
# 报错
# 设置为
# 错误信息
# 所述
# 给我留言
# 请参考
# 两行
# 感谢大家
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
太平洋网站制作公司,网络用语太平洋是什么意思?
laravel怎么通过契约(Contracts)编程_laravel契约(Contracts)编程方法
Laravel控制器是什么_Laravel MVC架构中Controller的作用与实践
Windows11怎样设置电源计划_Windows11电源计划调整攻略【指南】
标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?
如何在万网ECS上快速搭建专属网站?
昵图网官方站入口 昵图网素材图库官网入口
Laravel如何记录自定义日志?(Log频道配置)
Laravel策略(Policy)如何控制权限_Laravel Gates与Policies实现用户授权
Laravel Livewire是什么_使用Laravel Livewire构建动态前端界面
Python文本处理实践_日志清洗解析【指导】
Laravel如何发送邮件和通知_Laravel邮件与通知系统发送步骤
Laravel如何发送邮件_Laravel Mailables构建与发送邮件的简明教程
大学网站设计制作软件有哪些,如何将网站制作成自己app?
如何在阿里云虚拟主机上快速搭建个人网站?
通义万相免费版怎么用_通义万相免费版使用方法详细指南【教程】
JavaScript如何实现类型判断_typeof和instanceof有什么区别
图册素材网站设计制作软件,图册的导出方式有几种?
Laravel如何使用软删除(Soft Deletes)功能_Eloquent软删除与数据恢复方法
如何在局域网内绑定自建网站域名?
Laravel怎么使用artisan命令缓存配置和视图
Python数据仓库与ETL构建实战_Airflow调度流程详解
Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例
Laravel Eloquent模型如何创建_Laravel ORM基础之Model创建与使用教程
怎样使用JSON进行数据交换_它有什么限制
Laravel怎么使用Markdown渲染文档_Laravel将Markdown内容转HTML页面展示【实战】
手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?
Laravel怎么配置自定义表前缀_Laravel数据库迁移与Eloquent表名映射【步骤】
如何挑选优质建站一级代理提升网站排名?
Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】
网页制作模板网站推荐,网页设计海报之类的素材哪里好?
,交易猫的商品怎么发布到网站上去?
免费视频制作网站,更新又快又好的免费电影网站?
Laravel Eloquent:优雅地将关联模型字段扁平化到主模型中
Laravel怎么使用Blade模板引擎_Laravel模板继承与Component组件复用【手册】
Laravel怎么实现前端Toast弹窗提示_Laravel Session闪存数据Flash传递给前端【方法】
用yum安装MySQLdb模块的步骤方法
Python并发异常传播_错误处理解析【教程】
如何在自有机房高效搭建专业网站?
Laravel如何将应用部署到生产服务器_Laravel生产环境部署流程
Laravel如何配置中间件Middleware_Laravel自定义中间件拦截请求与权限校验【步骤】
Laravel怎么实现模型属性转换Casting_Laravel自动将JSON字段转为数组【技巧】
Laravel中的Facade(门面)到底是什么原理
焦点电影公司作品,电影焦点结局是什么?
网站制作大概要多少钱一个,做一个平台网站大概多少钱?
Laravel Docker环境搭建教程_Laravel Sail使用指南
如何在HTML表单中获取用户输入并结合JavaScript动态控制复利计算循环
高端云建站费用究竟需要多少预算?
如何有效防御Web建站篡改攻击?
laravel怎么配置和使用PHP-FPM来优化性能_laravel PHP-FPM配置与性能优化方法
下一篇:nginx 502错误怎么解决
下一篇:nginx 502错误怎么解决

