利用定时器定时发送邮箱邮件
来源:互联网 发布:金融大数据分析是什么 编辑:程序博客网 时间:2024/05/29 04:54
一些项目要用到邮箱发送邮件,但是对于邮件发送还是不太理解,就在网上找了下,学习下别人的代码,然后自己又稍微的封装 了一下,现在写下来,以供自己以后使用,。这个主要用到了smtp的邮件服务。 其他什么都不说了。直接代码
package com.mail.sendmail;import javax.mail.*;import javax.mail.internet.InternetAddress;import javax.mail.internet.MimeMessage;import java.util.Properties;import java.util.Timer;import java.util.TimerTask;/** * 发送只带存文本的邮件 * Created by T430 on 2017/6/15. */public class Mail1 { /** * 利用定时器发送邮件,设定指定任务task在指定延迟delay后进行固定延迟peroid的执行 * @param me * @param session1 * @param username 要用的那个邮箱的用户名 * @param pwd 登录密码 */ public static void sendMail(final Message me, final Session session1, final String username, final String pwd){ Timer timer= new Timer(); timer.schedule(new TimerTask() { @Override public void run() { /** * 发送邮件 */ Transport ts = null; try { ts = session1.getTransport(); } catch (NoSuchProviderException e) { e.printStackTrace(); } try { ts.connect(username,pwd);//配置所用的账户名和登录密码 } catch (MessagingException e) { e.printStackTrace(); } try { ts.sendMessage(me,me.getAllRecipients());//对象,用实例方法 } catch (MessagingException e) { e.printStackTrace(); } } } ,1000,80000); } /** * 设置头部内容 * @param message * *@param fromAddress 从哪里发送 * @param toAddress 发送给谁 * @param titles 邮件标题 * @throws MessagingException */ public static void setTop(final MimeMessage message, String fromAddress, String toAddress, String titles) throws MessagingException { message.setFrom(new InternetAddress(fromAddress));//从哪个邮件过来 message.setRecipients(Message.RecipientType.TO,toAddress);//发送到那里? message.setSubject(titles);//邮件的标题 } /** * 设置正文内容 * @param message * @param contentText 正文内容 */ public static void setContent(final MimeMessage message,String contentText ) throws MessagingException { message.setContent(contentText,"text/html"); message.saveChanges();//保存改变 } public static void main(String[] args) throws Exception{ Properties props=new Properties();//key value:配置参数,真正发邮件时再配置 props.setProperty("mail.transport.protocol","smtp");//指定邮件发送的协议,参数是规范guid规定的 props.setProperty("mail.host","smtp.163.com");//指定发送服务器的地址,参数是规范规定的,163的规范 props.setProperty("mail.smtp.auth","true");//请求服务器进行身份认证,参数与具体的JavaMail实现有关 Session session=Session.getInstance(props);//发送有件事使用的环境配置 session.setDebug(true);//设置调试模式 MimeMessage message= new MimeMessage(session); String fromAddress="XXX@163.com";//从哪里发出 String toAddress="XXX@qq.com";//发送给谁 String titles="不是不知道";//邮件标题 String contentText="ceshi kanxia ";//邮件内容 /** * 设置邮件头部 */ setTop(message,fromAddress,toAddress,titles); /** * 设置正文 */ setContent(message,contentText); message.saveChanges();//保存改变 /** * 发送邮件 */ String username ="XXX@163.com"; String pwd="XXXXX"; sendMail(message,session,username,pwd); }}
完成工作,可以发送邮件了
当然了,离不开大神们的代码编写, 这是引用的地址:http://www.cnblogs.com/lls1413/p/javamail.html ,后面还带有 附件的发送。 谢谢大神的分享
阅读全文
0 0
- 利用定时器定时发送邮箱邮件
- 利用spring定时器发送定时邮件
- 定时向指定邮箱发送邮件
- java使用定时器,定时发送邮件
- 利用外部邮箱发送邮件的方法
- phpmailer 发送邮件,利用公司邮箱服务器
- QQ邮箱利用PHPmailer发送邮件
- 163邮箱利用phpmailer发送邮件
- spring利用javamail,quartz定时发送邮件
- spring利用javamail,quartz定时发送邮件
- Python定时利用QQ邮件发送天气预报
- java实现qq邮箱每天定时发送邮件
- 提交订单系统自动发送邮件到收件人邮箱优化(定时发送邮件)
- 利用飞信139邮箱发送定时短信
- 定时发送发送邮件
- 关于C#如何利用QQ邮箱SMTP发送邮件
- 利用python smtplib 登录QQ邮箱发送邮件
- 在cmd下利用命令行发送邮件(QQ邮箱)
- Kotlin-Android世界的一股清流-Package
- 一键重装系统工具哪个好?人人都会用的一键重装软件
- Android—ViewPager+布局xml(View)
- Python文件/文件夹操作大全
- 赛马问题
- 利用定时器定时发送邮箱邮件
- 如何从参与开源项目的过程中获取自信
- KM最容易看懂的教程和参考程序
- ijkplayer视频播放器源码分析(android)
- Scut服务器创建定时器的方法
- Opencv学习之线性滤波
- 快速上手MySql && MySql GUI工具 SQLyog Community (6)
- 关于oc的#pragma mark
- RK3288 平台(Android 5.1)+ PN548 调试流水账(二、Kconfig & Makefile 配置)