Java完成邮件发送(QQ邮箱为例)
warning:
这篇文章距离上次修改已过262天,其中的内容可能已经有所变动。
在Java中使用QQ邮箱发送邮件,你可以使用JavaMail API。以下是一个简单的例子,展示了如何使用QQ邮箱发送邮件。
确保你已经添加了JavaMail依赖到你的项目中。如果你使用Maven,可以添加以下依赖到你的pom.xml
文件中:
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>1.6.2</version>
</dependency>
以下是一个简单的Java程序,用于发送邮件:
import java.util.Properties;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
public class EmailSender {
public static void sendEmail(String recipient, String subject, String content) throws MessagingException {
final String username = "你的QQ邮箱";
final String password = "邮箱授权码";
Properties props = new Properties();
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.starttls.enable", "true"); // 对于QQ邮箱,请使用587端口
props.put("mail.smtp.host", "smtp.qq.com");
props.put("mail.smtp.port", "587");
// 创建邮件会话
Authenticator auth = new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}
};
Session session = Session.getInstance(props, auth);
// 创建邮件
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress("你的QQ邮箱"));
message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(recipient));
message.setSubject(subject);
message.setText(content);
// 发送邮件
Transport.send(message);
System.out.println("Email sent successfully!");
}
public static void main(String[] args) {
try {
sendEmail("收件人邮箱", "邮件主题", "邮件内容");
} catch (MessagingException e) {
e.printStackTrace();
}
}
}
确保替换username
和password
为你的QQ邮箱用户名和密码,如果是密码,则需要使用邮箱提供的授权码。在main
方法中调用sendEmail
方法,替换参数为实际的收件人邮箱、主题和内容即可发送邮件。
评论已关闭