android 后台邮件发送,Android 后台发送邮件到指定邮箱
时间: 2024-05-03 12:19:47 浏览: 8
在 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'
```