实现Android 后台发送邮件

 

1、第三方库

 

这次发送后台邮件需要用到三个第三方的库,这几个库在java里面应该是比较有名的了。以前做个java 邮件开发的朋友,应该多多少少都会用过。Android默认发送邮件的方法,需要通过Intent调用系统邮件程序,这个对于我们这种后台操作不实用。

•activation.jar
•additionnal.jar
•mail.jar

下面我Demo例子里面会附上这三个包,这几个包网上也很多资源,可以自行下载。

 

2、邮件信息
因为我们是后台发送邮件,因此需要收集一些必要信息,因为不需要用户输入这些信息。

 

代码如下:

{
    // 发送邮件的服务器的IP和端口    
    private String mailServerHost;    
    private String mailServerPort = "25";   


    // 邮件发送者的地址    
    private String fromAddress;    
    // 邮件接收者的地址    
    private String toAddress;    
    // 登陆邮件发送服务器的用户名和密码    
    private String userName;    
    private String password;    
    // 是否需要身份验证    
    private boolean validate = true;    
    // 邮件主题    
    private String subject;    
    // 邮件的文本内容    
    private String content;    
    // 邮件附件的文件名    
    private String[] attachFileNames;      
}

 

 

Android 应用中发送邮件需要使用 JavaMail API 和 Android 官方提供的 JavaMail API 的扩展包,以下是一个简单的示例代码: ```java private void sendEmail() { final String username = "你的邮箱"; final String password = "你的邮箱密码"; final String recipientEmail = "收件人邮箱"; final String subject = "邮件主题"; final String messageBody = "邮件内容"; // 需要在子线程中发送邮件 new Thread(new Runnable() { @Override public void run() { // 创建一个Properties对象用来配置邮件服务器 Properties props = new Properties(); props.put("mail.smtp.auth", "true"); props.put("mail.smtp.starttls.enable", "true"); props.put("mail.smtp.host", "smtp.gmail.com"); props.put("mail.smtp.port", "587"); // 使用SMTP协议发送邮件 Session session = Session.getInstance(props, new javax.mail.Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(username, password); } }); try { // 创建一个MimeMessage对象 Message message = new MimeMessage(session); // 设置发件人 message.setFrom(new InternetAddress(username)); // 设置收件人 message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(recipientEmail)); // 设置邮件主题 message.setSubject(subject); // 设置邮件内容 message.setText(messageBody); // 发送邮件 Transport.send(message); Log.d(TAG, "邮件发送成功!"); } catch (MessagingException e) { Log.e(TAG, "邮件发送失败:" + e.getMessage()); } } }).start(); } ``` 需要注意的是,发送邮件需要使用 SMTP 协议,因此需要在 AndroidManifest.xml 文件中添加以下权限: ```xml <uses-permission android:name="android.permission.INTERNET" /> ``` 同时,还需要在 build.gradle 文件中添加以下依赖: ```groovy implementation 'com.sun.mail:android-mail:1.6.2' implementation 'com.sun.mail:android-activation:1.6.2' ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值