使用JAVA模拟发送邮件到邮箱
2017-03-27 21:42
477 查看
1.设置邮箱(以QQ邮箱为例),进入邮箱,点击设置。找到账户,按下图所示进行设置
2.新建工程,导入jar包,下载地址:点击下载
3.新建main.java
4.新建sendmail.java
5.效果图
2.新建工程,导入jar包,下载地址:点击下载
3.新建main.java
public class main { public static void main(String[] args) { // JavaMail应用-用自己的QQ邮箱来发送服务器的数据 // 发送邮件是一件非常耗时的事情,因此这里开辟了另一个线程来专门发送邮件 sendmail send = new sendmail(); // 启动线程,线程启动之后就会执行run方法来发送邮件 send.start(); } }
4.新建sendmail.java
import java.util.Date; import java.util.Properties; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; public class sendmail extends Thread{ private String from = "发送邮件的邮箱地址"; //授权码 从QQ上获得 private String password = "邮箱密码"; //收件箱 private String to="接受邮件的邮箱地址"; /* 重写run方法的实现,在run方法中发送邮件给指定的用户 * @see java.lang.Thread#run() */ @Override public void run() { try{ Properties prop = new Properties(); prop.setProperty("mail.transport.protocol", "smtp"); prop.setProperty("mail.smtp.host", "smtp.qq.com"); prop.setProperty("mail.smtp.auth", "true"); final String smtpPort = "465"; prop.setProperty("mail.smtp.port", smtpPort); prop.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); prop.setProperty("mail.smtp.socketFactory.fallback", "false"); prop.setProperty("mail.smtp.socketFactory.port", smtpPort); prop.setProperty("mail.debug", "true"); Session session = Session.getDefaultInstance(prop); session.setDebug(true); MimeMessage message = createMimeMessage(session, from, to); Transport transport = session.getTransport(); transport.connect( from, password); transport.sendMessage(message, message.getAllRecipients()); transport.close(); }catch (Exception e) { throw new RuntimeException(e); } } 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, "测试邮件", "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; } }
5.效果图
相关文章推荐
- 关于java模拟邮箱发送邮件的设计与实现
- java中使用自己的邮箱进行多人邮件发送
- Java-使用JavaMail发送一封邮件给用户邮箱功能实现
- 使用Java发送邮件
- Linux下安装及使用mail命令发送邮件到指定邮箱
- .Net使用SmtpClient发送邮件,报错:不允许使用邮箱名称。 服务器响应为: xxxw
- 关于Java Web 使用JavaMail创建邮件和发送邮件
- 使用163 邮箱发送javamail邮件时的错误提示及原因
- 关于在使用Exchange2003系统时无法向sina,yahoo,hotmail等邮箱发送邮件问题的解决方法
- Java发送邮件给其他邮箱
- Java邮件开发(一):使用JMail发送一封简单邮件
- Java学习1-使用java mail包发送简单邮件
- Linux——使用mail发送邮件给外部邮箱
- 使用java来发送邮件
- 使用 JavaMailSenderImpl SSL 465 发送邮件
- 使用spring的JavaMailSender发送邮件
- linux发送邮件使用外部邮箱
- 使用java模拟向web服务器发送get和post请求
- Java使用Spring发送邮件的实现代码