Android使用qq邮箱发送数据并且可以发送邮件的代码
时间: 2024-02-01 16:13:15 浏览: 319
Android应用源码之仿QQ邮箱安卓客户端项目.zip
以下是使用QQ邮箱发送邮件的Android代码示例:
首先,需要在你的Android项目中添加JavaMail和javax.mail(可以在build.gradle中添加):
```
implementation 'com.sun.mail:android-mail:1.6.0'
implementation 'com.sun.mail:android-activation:1.6.0'
```
然后,在你的Activity或者Fragment中创建一个发送邮件的方法:
```java
private void sendEmail() {
// 收件人列表
String[] to = {"recipient@example.com"};
// 发件人
final String from = "your_qq_email@qq.com";
// 发件人密码
final String password = "your_qq_email_password";
// 配置邮件服务器信息
Properties props = new Properties();
props.put("mail.smtp.host", "smtp.qq.com");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.port", "465");
props.put("mail.smtp.socketFactory.port", "465");
props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
// 获取会话
Session session = Session.getInstance(props, new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(from, password);
}
});
try {
// 创建邮件对象
Message message = new MimeMessage(session);
// 设置发件人
message.setFrom(new InternetAddress(from));
// 设置收件人
InternetAddress[] addresses = new InternetAddress[to.length];
for (int i = 0; i < to.length; i++) {
addresses[i] = new InternetAddress(to[i]);
}
message.setRecipients(Message.RecipientType.TO, addresses);
// 设置主题
message.setSubject("Test Email");
// 设置邮件内容
message.setText("This is a test email sent from my Android app.");
// 发送邮件
Transport.send(message);
Toast.makeText(this, "Email sent successfully!", Toast.LENGTH_SHORT).show();
} catch (MessagingException e) {
Toast.makeText(this, "Email sending failed: " + e.getMessage(), Toast.LENGTH_SHORT).show();
e.printStackTrace();
}
}
```
以上代码中,需要替换以下内容:
- `to`: 收件人的邮箱地址;
- `from`: 发件人的QQ邮箱地址;
- `password`: 发件人的QQ邮箱密码。
如果你使用的是QQ邮箱,则需要使用SMTP服务器 `smtp.qq.com`,端口号为 `465`。在配置 `props` 对象时,需要使用 SSL socket factory 来建立安全连接。
最后,你可以在你的应用程序中调用 `sendEmail()` 方法来发送邮件。请确保在发送邮件之前,你已经在AndroidManifest.xml中添加了以下权限:
```xml
<uses-permission android:name="android.permission.INTERNET" />
```
希望对你有所帮助!
阅读全文