package ExceptionHandling;
import java.io.UnsupportedEncodingException;
import java.util.Properties;
import javax.mail.Address;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.NoSuchProviderException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMessage.RecipientType;
public class SendEmailclass {
/**
* 发送邮件
* Sean
* 接收4个参数,发件人昵称,收件人,邮件头,邮件类容
* @param from_nick
* @param receivers_init
* @param mail_head
* @param mail_content
* @return
* @throws AddressException
* @throws MessagingException
*/
public boolean SendEmail(String from_nick, String receivers_init, String mail_head, String
mail_content) throws AddressException, MessagingException{
Address[] toss = null;
boolean bl = false;
Properties properties = new Properties();
properties.put("mail.transport.protocol", "smtp");// 连接协议
properties.put("mail.smtp.host", "xxxxx.com");// 主机名
properties.put("mail.smtp.port", 25);// 端口号
properties.put("mail.smtp.auth", "true");
properties.put("mail.smtp.ssl.enable", "false");//设置是否使用ssl安全连接 ---如果是true要修
改代码咯
properties.put("mail.debug", "false");//设置是否显示debug信息 true 会在控制台显示相关信息
//得到回话对象
Session session = Session.getInstance(properties);
// 获取邮件对象
Message message = new MimeMessage(session);
//设置发件人邮箱地址
String from ="xxxxxxxxxx@cn.mcd.com";
//设置自定义发件人昵称
String nick="";
try {
nick=javax.mail.internet.MimeUtility.encodeText(from_nick);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
message.setFrom(new InternetAddress(nick+" <"+from+">"));
//设置收件人地址
// message.setRecipients(RecipientType.TO, new InternetAddress[] {new InternetAddress(recipients)
});
//发送给多个人
// String[] receivers =
{"sean.xiang@ecloudids.com","kobe.xu@ecloudids.com","jason.xiao@ecloudids.com","march.ma@ecloudids.com"};
if (receivers_init != null){
String[] arr= receivers_init.split(",");
String[] receivers = new String[arr.length];
for(int j=0;j<arr.length;j++){
receivers[j]= arr[j];
System.out.println("Recipients:"+receivers[j]);
}
// 为每个邮件接收者创建一个地址
toss = new InternetAddress[receivers.length];
toss[0] = new InternetAddress(receivers[0]);
for (int i=0; i<receivers.length; i++){
toss[i] = new InternetAddress(receivers[i]);
}
}
// 将所有接收者地址都添加到邮件接收者属性中
message.setRecipients(Message.RecipientType.TO, toss);
//设置邮件标题
message.setSubject(mail_head);
//设置邮件内容
message.setText(mail_content);
//得到邮差对象
Transport transport = session.getTransport();
//连接自己的邮箱账户
transport.connect("xxxxxx@cn.mcd.com", "xxxxxxxxxx");//没有密码就设置为空
//发送邮件
transport.sendMessage(message, message.getAllRecipients());
bl = true;
return bl;
}
/*
* 开始.............
*/
public static void main(String [] args) throws AddressException, MessagingException{
String from_nick = "昵称";
String receivers_init = "xxxxxxxxxxx@163.com";
String mail_head = "头部";
String mail_content = "内容";
SendEmailclass se = new SendEmailclass();
boolean tf = se.SendEmail(from_nick,receivers_init,mail_head,mail_content);
if(tf){
System.out.println("发送成功!");
}
}
}
java发送邮件样例
最新推荐文章于 2024-08-07 10:32:34 发布