java发送mail代码示例

//JavaMail.java 类,为发送邮件做各种配置
import java.util.Properties;


import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;


/** 
 *  
 *  
 * <p>Title: Java发送邮件测试类 /p> 
 * 
 * <p>Description: 示例 业务类</p> 
 * 
 * <p>Copyright: Copyright (coffee) 2012</p> 
 * 
 * 
 * @author dml@2012-12-17 
 * @version 1.0 
 */


/****************************************************************
 * 对QQ邮箱使用(对于其他的使用类似的你应该也会更改了) 首先把QQ邮箱的POP3 SMTP打开 首先确定你的网络正常、非代理
 * 【确定你的QQ邮箱开启了SMTP】!!!! 如果没有开启,那么这样设置下 设置->账户 --在下面-- 把这个选上 [√]SMTP发信后保存到服务器
 ****************************************************************/
public class JavaMail {


// 设置服务器
private static String KEY_SMTP = ReadProperties.read( "KEY_SMTP");
private static String VALUE_SMTP = ReadProperties.read("VALUE_SMTP");
// 服务器验证
private static String KEY_PROPS = ReadProperties.read( "KEY_PROPS");
private static boolean VALUE_PROPS = Boolean.getBoolean(ReadProperties
.read("VALUE_PROPS"));
// 发件人用户名、密码
private String SEND_USER = ReadProperties.read( "SEND_USER");
private String SEND_UNAME = ReadProperties.read( "SEND_UNAME");
private String SEND_PWD = ReadProperties.read( "SEND_PWD");
// 建立会话
private MimeMessage message;
private Session s;


/*
* 初始化方法
*/
public JavaMail() {
Properties props = System.getProperties();
props.setProperty(KEY_SMTP, VALUE_SMTP);
props.put(KEY_PROPS, VALUE_PROPS);
s = Session.getInstance(props);
/* s.setDebug(true);开启后有调试信息 */
message = new MimeMessage(s);
}


/**
* 发送邮件

* @param headName
*            邮件头文件名
* @param sendHtml
*            邮件内容
* @param receiveUser
*            收件人地址
*/
public boolean doSendHtmlEmail(String email_head, String email_content,
String email_reciver) {
try {
// 发件人
InternetAddress from = new InternetAddress(SEND_USER);
message.setFrom(from);
// 收件人
InternetAddress to = new InternetAddress(email_reciver);
message.setRecipient(Message.RecipientType.TO, to);
// 邮件标题
message.setSubject(email_head);
String content = email_content.toString();
// 邮件内容,也可以使纯文本"text/plain"
message.setContent(content, "text/html;charset=GBK");
message.saveChanges();
Transport transport = s.getTransport("smtp");
// smtp验证,就是你用来发邮件的邮箱用户名密码
transport.connect(VALUE_SMTP, SEND_UNAME, SEND_PWD);
// 发送
transport.sendMessage(message, message.getAllRecipients());
transport.close();
return true;
} catch (AddressException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (MessagingException e) {
e.printStackTrace();
}
return false;
}


}

//读取properties文件中的参数,也可以不用这个自己在javamail传入参数设置,这个是为了管理方便

package com.util.mail;


import java.util.Properties;


public class ReadProperties {
/**
* a static function use to read the statement by file name and key

* @param sourceName
*            file's name
* @param key
*            statement key
* @return
*/
public static String read( String key) {
try {
Class<ReadProperties> c=ReadProperties.class;
Properties properties=new Properties();
properties.load(c.getResourceAsStream("/email.properties"));
return properties.getProperty(key);
} catch (Exception e) {
return null;
}
}
}

//测试主函数

package com.util.mail;


public class Send {
public static void sendmail(String Content,String[] Receivers){
for(String o : Receivers){
JavaMail javaMail = new JavaMail();
javaMail.doSendHtmlEmail("Change Password",Content, "807736118@qq.com");
}
}
public static void main(String[] arg){
JavaMail javaMail = new JavaMail();
String html = "<body>company name :"+"Ivan zhang"+"<br />"
+ "Login name   :<br />"
+ "Urgent :"+"Ivan zhang"+"<br />"
+ "Service provider:<matrix global/ TACT><br />"
+ "Company name:"+"Ivan zhang"+"<company name><br />"
+ "Address:"+"Ivan zhang"+"<address><br />"
+ "Contact name:"+"Ivan zhang"+"<contact name><br />"
+ "Contact email:"+"Ivan zhang"+"<contact email><br />"
+ "Contact phone:"+"Ivan zhang"+"<Contact phone><br />"
+ "Services: "+"Ivan zhang"+"<QA><Development><Tools & Licenses><Cross lead><Other><br />"
+ "Start working date: "+"Ivan zhang"+"<dd/mm/yy><br />"
+ "Urgent: "+"Ivan zhang"+"<br />"
+ "Exclusive: "+"Ivan zhang"+"<br />"
+ "Profiles:"+"Ivan zhang"+"<br />"
+ "Total: "+"Ivan zhang"+"<total number of profiles><br /><br />"
+ "Title:"+"Ivan zhang"+"<br />"
+ "Experience:"+"Ivan zhang"+"<br />"
+ "Max salary:"+"Ivan zhang"+"<br />"
+ "Notes:"+"Ivan zhang"+"<br /><br />"
+ "Title:"+"Ivan zhang"+"<br />"
+ "Experience:"+"Ivan zhang"+"<br />"
+ "Max salary:"+"Ivan zhang"+"<br />"
+ "Notes:"+"Ivan zhang"+"<br /><br />"
+ "Title:"+"Ivan zhang"+"<br />"
+ "Experience:"+"Ivan zhang"+"<br />"
+ "Max salary:"+"Ivan zhang"+"<br />"
+ "Notes:"+"Ivan zhang"+"<br /><br />"
+ "Signature:"+"Ivan zhang"+"<br />"
+ "Kind regards,<br />"
+ "<Account manager – "+"Ivan zhang"+"><br />"
+ "</body>";
boolean flag = javaMail.doSendHtmlEmail("Change Password",html, "807736118@qq.com");
System.out.println(flag);
//System.out.println(new ReadProperties().read("aaa"));
}
}

//properties文件 放在src目录下即可,如果和readproperties类放在同一个包下,则readproperties类中读取(c.getResourceAsStream("/email.properties"))就可以不用前面的

//斜杠/了

//properties文件内容

KEY_SMTP=mail.smtp.host
VALUE_SMTP=smtp.126.com
KEY_PROPS=mail.smtp.auth
VALUE_PROPS=true
SEND_USER=darrenwu1990@126.com
SEND_UNAME=darrenwu1990@126.com
SEND_PWD=199010414
HR=hadarfo@matrix.co.il


用到的jar包

http://download.csdn.net/detail/storm1314888/6935623

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值