JavaMail发送邮件的小程序
首先加入jar包javax.mail.jar
package com.tideway.javamail; import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Properties; import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Multipart;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart; public class SendMail {
//收件人地址
private String to;
//发件人地址
private String from;
//SMTP服务器地址
private String smtpServer;
//登录副武器的用户名
private String username;
//登陆服务器的密码
private String password;
//邮件主题
private String subject;
//邮件正文
private String content;
//记录所有附件文件的集合,本人没写附件
List<String> list=new ArrayList<String>(); public SendMail(){} /**
* 初始化各属性构造器
* @param to 收件人地址
* @param from 发件人地址
* @param smtpServer SMTP服务器地址
* @param username 服务器登录用户名
* @param password 密码
* @param subject 标题
* @param content 内容
*/
public SendMail(String to,String from,String smtpServer,String username,
String password,String subject,String content){
this.to=to;
this.from=from;
this.smtpServer=smtpServer;
this.username=username;
this.password=password;
this.subject=subject;
this.content=content;
} public void setTo(String to) {
this.to = to;
} public void setFrom(String from) {
this.from = from;
} public void setSmtpServer(String smtpServer) {
this.smtpServer = smtpServer;
} public void setUsername(String username) {
this.username = username;
} public void setPassword(String password) {
this.password = password;
}
public void setSubject(String subject) {
this.subject = subject;
} public void setContent(String content) {
this.content = content;
}
//将附件文件名添加到List集合
public void attachfile(String filename){ list.add(filename);
} public boolean send(){
//创建Session需要的Properties对象
Properties pro=new Properties();
pro.put("mail.smtp.host", smtpServer);
pro.put("mail.smtp.auth", "true");
//创建Session对象
Session session=Session.getDefaultInstance(pro,new Authenticator() {
public javax.mail.PasswordAuthentication getPasswordAuthentication(){
return new javax.mail.PasswordAuthentication(username, password); }
});
try {
//构造MimeMessage并设置相关属性
MimeMessage msg=new MimeMessage(session);
//设置发件人地址
msg.setFrom(new InternetAddress(from));
//设置收件人
InternetAddress[] address={new InternetAddress(to)};
msg.setRecipients(Message.RecipientType.TO, address);
//设置邮件主题
msg.setSubject(subject);
//构造Multipart
Multipart mp=new MimeMultipart();
//向mp添加正文
MimeBodyPart mbpContent=new MimeBodyPart();
mbpContent.setText(content);
//将MimeBodyPart添加到Multipart容器中
mp.addBodyPart(mbpContent);
//附件附件附件附
//没写附件 //添加
msg.setContent(mp);
//设置发送时间
msg.setSentDate(new Date());
//发送
Transport.send(msg); } catch (MessagingException e) {
// TODO: handle exception
e.printStackTrace();
return false;
}
return true;
}
public static void main(String[] args) {
SendMail sendmail=new SendMail();
sendmail.setSmtpServer("smtp.163.com");
//设置登录服务器用户名
sendmail.setUsername("xxxxxxx");
//163邮箱开授权码的写授权码,没开的写邮箱密码
sendmail.setPassword("自己163邮箱授权码");
//给谁发
sendmail.setTo("xxxx@qq.com"); sendmail.setFrom("xxxxxxx@163.com"); sendmail.setSubject("你是一个不讲诚信的人"); sendmail.setContent("我的海底捞,我的海底捞,我的海底捞。"); if (sendmail.send()) {
System.out.println("success!");
}
}
}
注意:上面程序中创建的Session实例,使用了Autherenticator的匿名内部类,通过该类完成了SMTP的认证,少数邮件服务器在使用SMTP服务时不需要安全认证,则直接如下书写即可。
//创建Session需要的Properties对象
Properties pro=new Properties();
pro.put("mail.smtp.host", smtpServer);
pro.put("mail.smtp.auth", "false");//改成false.................
//创建Session对象
Session session=Session.getDefaultInstance(pro);
JavaMail发送邮件的小程序的更多相关文章
- 替换excel模板中的内容并使用JavaMail发送邮件
由于在公司工作,常年出差,每天都要以日报的形式向公司汇报当天的工作内容.而日报的内容大体上就只有当天工作的主要内容时变化的,其余的都是不变 的. 而我的电脑刚打开excel有点卡,因此决定使用Java ...
- JavaMail发送邮件
发送邮件包含的内容有: from字段 --用于指明发件人 to字段 --用于指明收件人 subject字段 --用于说明邮件主题 cc字段 -- 抄送,将邮件发送给收件人的同时抄 ...
- web应用中使用JavaMail发送邮件
现在很多的网站都提供有用户注册功能, 通常我们注册成功之后就会收到一封来自注册网站的邮件.邮件里面的内容可能包含了我们的注册的用户名和密码以及一个激活账户的超链接等信息.今天我们也来实现一个这样的功能 ...
- JavaMail发送邮件的笔记及Demo
最近碰到一个需求,就是注册用户时候需要向用户发送激活邮箱,于是照着网上搜来的demo自己试着运行了一下,发件时我用的是网易163邮箱,收件时用QQ邮箱,运行后报了一个错误: 网络上搜索解决方式,多次尝 ...
- web应用中使用JavaMail发送邮件 。。转载
现在很多的网站都提供有用户注册功能, 通常我们注册成功之后就会收到一封来自注册网站的邮件.邮件里面的内容可能包含了我们的注册的用户名和密码以及一个激活账户的超链接等信息.今天我们也来实现一个这样的功能 ...
- (转载)JavaWeb学习总结(五十三)——Web应用中使用JavaMail发送邮件
博客源地址:http://www.cnblogs.com/xdp-gacl/p/4220190.html 现在很多的网站都提供有用户注册功能, 通常我们注册成功之后就会收到一封来自注册网站的邮件.邮件 ...
- JavaWeb学习总结(五十三)——Web应用中使用JavaMail发送邮件
现在很多的网站都提供有用户注册功能, 通常我们注册成功之后就会收到一封来自注册网站的邮件.邮件里面的内容可能包含了我们的注册的用户名和密码以及一个激活账户的超链接等信息.今天我们也来实现一个这样的功能 ...
- javamail发送邮件的简单实例
今天学习了一下JavaMail,javamail发送邮件确实是一个比较麻烦的问题.为了以后使用方便,自己写了段代码,打成jar包,以方便以后使用.呵呵 以下三段代码是我的全部代码,朋友们如果想用,直接 ...
- javamail发送邮件的简单实例(转)
今天学习了一下JavaMail,javamail发送邮件确实是一个比较麻烦的问题.为了以后使用方便,自己写了段代码,打成jar包,以方便以后使用.呵呵 注意:要先导入javamail的mail.jar ...
随机推荐
- swiper框架,实现轮播图等滑动效果
http://www.swiper.com.cn/ 做个记录而已,这个没什么好说的,对于需要手机端开发实现触摸等方式可以看看.
- 分享一下自己用c++写的小地图
http://www.unrealchina.com/forum.php?mod=viewthread&tid=451&extra=&from=portal&page= ...
- Wpf/Wp/Silverlight-Chart图表控件:柱状图、饼状图等使用汇总
链接:http://www.cnblogs.com/jimson/archive/2010/06/21/Wpfchat.html http://www.cnblogs.com/mgen/p/32361 ...
- MySQL字段数据类型表
* MySQL支持所有标准SQL数值数据类型. 数值类型BIT数据类型保存位字段值,并且支持MyISAM.MEMORY.InnoDB和BDB表.作为SQL标准的扩展,MySQL也支持整数类型TINYI ...
- 【WPF】绑定数据
WPF绑定数据 模型类(继承 INotifyPropertyChanged,实现属性的变更通知)
- Android自定义控件----RadioGroup实现APP首页底部Tab的切换
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...
- struts-json-plugin result中配置对象的序列化
注意: 在使用strtus-json-plugin序列化对象属性,配置result标签下includeProperties属性时使用 对象名.*或则指定属性名的方式,不能光写对象属性名. 问题: ac ...
- JQ第一天
1.jQ中最常用对象是$对象,$是jQ的简写.只有将普通的Dom对象封装成jQ对象,才能使用其中方法,jQuery(document).ready()是允许多个的,$(fn)与$(document). ...
- CSP -- 运营商内容劫持(广告)的终结者
缘由 我们公司最近手机端H5 经常受到商户和用户的投诉,说有广告并且导致不能正常进行操作,我们商户自己当然不会加广告了,但是商户和用户可不管这些了,就认为是我们的问题 探索发现根本 目前我们用的很多浏 ...
- TID大会学习心得之软技能
软技能(Personal development as a software developer) John Sonmez : Simple programmer的创始人 2.1 学习方法 学习不是一 ...