java mail 你下在的jmail.zip里面不是又非常多的例子吗,一般的应用足够了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 public static void send(final Mail sendMail) throws Exception { final MailBox mailBox=sendMail.getMailFolder().getMailBox(); //发送邮件使用的服务器 String hostName = mailBox.getHostName(); //连接服务器的用户名 String userName = mailBox.getUserName(); //连接服务器的用户密码 String password = mailBox.getPassword(); //Properties env = System.getProperties(); Properties env=new Properties(); //存储发送邮件服务器的信息 env.put("mail.smtp.host", hostName); //同时通过验证 env.put("mail.smtp.auth", "true"); //得到登陆器 AbstractAuthenticator authenticator = MailElementFactory.getInstance() .createAuthenticator(); //根据属性新建一个邮件会话 Session session = Session.getDefaultInstance(env); session.setDebug(false); //创建一个消息 MimeMessage message = new MimeMessage(session); //设定该消息的信息 //设定发件人 UserEMailAddress fromAddress = sendMail.getFromUser(); if (fromAddress != null) { String fromUser = fromAddress.getUserName(); String fromEmail = fromAddress.getEmailAddress(); InternetAddress fromInter = new InternetAddress(fromUser, fromEmail); message.setFrom(fromInter); } else { InternetAddress from=new InternetAddress("[email protected]"); message.setFrom(from); } //设定发送到 Collection toUser = sendMail.getToUser(); if (toUser != null && toUser.size() > 0) { Iterator iter = toUser.iterator(); while (iter.hasNext()) { UserEMailAddress address = (UserEMailAddress) iter.next(); addAddress(message, address, Message.RecipientType.TO); } } //设定抄送到 Collection copyUser = sendMail.getCopyUser(); if (copyUser != null && copyUser.size() > 0) { Iterator iter = copyUser.iterator(); while (iter.hasNext()) { UserEMailAddress address = (UserEMailAddress) iter.next(); addAddress(message, address, Message.RecipientType.CC); } } //密送到 Collection copySecretUser = sendMail.getCopySecrecyUser(); if (copySecretUser != null && copySecretUser.size() > 0) { Iterator iter = copySecretUser.iterator(); while (iter.hasNext()) { UserEMailAddress address = (UserEMailAddress) iter.next(); addAddress(message, address, Message.RecipientType.BCC); } } //设定回复地址 Collection repliesUser = sendMail.getRepliesUser(); if (repliesUser != null && repliesUser.size() > 0) { Iterator replyIter = repliesUser.iterator(); Collection replyAddresses = new ArrayList(); while (replyIter.hasNext()) { UserEMailAddress reAddress = (UserEMailAddress) replyIter .next(); String replyUserName = reAddress.getUserName(); String replyEmail = reAddress.getEmailAddress(); InternetAddress re = new InternetAddress(replyUserName, replyEmail); replyAddresses.add(re); } message.setReplyTo((Address[]) replyAddresses .toArray(new Address[] {})); } //设定需要发送收条,第二参数为回复地址,可以多个设定 if(sendMail.isReplySign()){ //设定收条地址 repliesUser = sendMail.getRepliesUser(); if (repliesUser != null && repliesUser.size() > 0) { Iterator replyIter = repliesUser.iterator(); Collection replyAddresses = new ArrayList(); while (replyIter.hasNext()) { UserEMailAddress reAddress = (UserEMailAddress) replyIter .next(); String replyUserName = reAddress.getUserName(); String replyEmail = reAddress.getEmailAddress(); InternetAddress re = new InternetAddress(replyUserName, replyEmail); replyAddresses.add(re); } message.addHeader("Disposition-Notification-To","[email protected],[email protected]"); } } //设定主题 message.setSubject(sendMail.getSubject()); //设定发送时间 message.setSentDate(sendMail.getSendDate()); //创建消息体 buildMessageContent(message,sendMail); message.saveChanges(); Transport transport=session.getTransport("smtp"); MailListener listener=new MailListener(); transport.addTransportListener(listener); transport.addConnectionListener(listener); transport.connect(hostName,userName,password); transport.sendMessage(message,message.getAllRecipients()); transport.close(); } protected static void buildMessageContent(Message message,Mail sendMail)throws Exception { // create and fill the first message part MimeBodyPart textBody = new MimeBodyPart(); textBody.setText(sendMail.getBodyText()); //添加附件 Multipart multiPart=new MimeMultipart(); Collection attackments=sendMail.getMutiparts(); if(attackments!=null&&attackments.size()>0){ Iterator iter=attackments.iterator(); while(iter.hasNext()){ Attackment attackment=(Attackment)iter.next(); String fileName=attackment.getFileName(); MimeBodyPart multiBodyPart=new MimeBodyPart(); FileDataSource ds=new FileDataSource(fileName); multiBodyPart.setDataHandler(new DataHandler(ds)); String separator=File.separator; int index=fileName.lastIndexOf(separator); String name=fileName.substring(index+1); multiBodyPart.setFileName(name); multiPart.addBodyPart(multiBodyPart); } } message.setContent(multiPart); } 关于时间的问题 java线程 跪求关于int转换成byte的一个小小问题 如何开始创做自己的项目? 关于jar文件打包成exe文件的困惑 我的问题 为什么按住mouse的左键就不能触发mouseMoved事件? 一道面试题 请看代码,为什么结果是false? 如何得到数据表中某列的最大值? 日期问题 很快拿分拉~~ 关于TextArea的一个问题!各位大哥帮帮忙!
final MailBox mailBox=sendMail.getMailFolder().getMailBox();
//发送邮件使用的服务器
String hostName = mailBox.getHostName();
//连接服务器的用户名
String userName = mailBox.getUserName();
//连接服务器的用户密码
String password = mailBox.getPassword(); //Properties env = System.getProperties();
Properties env=new Properties();
//存储发送邮件服务器的信息
env.put("mail.smtp.host", hostName);
//同时通过验证
env.put("mail.smtp.auth", "true"); //得到登陆器
AbstractAuthenticator authenticator = MailElementFactory.getInstance()
.createAuthenticator();
//根据属性新建一个邮件会话
Session session = Session.getDefaultInstance(env);
session.setDebug(false); //创建一个消息
MimeMessage message = new MimeMessage(session);
//设定该消息的信息 //设定发件人
UserEMailAddress fromAddress = sendMail.getFromUser();
if (fromAddress != null) {
String fromUser = fromAddress.getUserName();
String fromEmail = fromAddress.getEmailAddress();
InternetAddress fromInter = new InternetAddress(fromUser, fromEmail);
message.setFrom(fromInter);
} else {
InternetAddress from=new InternetAddress("[email protected]");
message.setFrom(from);
} //设定发送到
Collection toUser = sendMail.getToUser();
if (toUser != null && toUser.size() > 0) {
Iterator iter = toUser.iterator();
while (iter.hasNext()) {
UserEMailAddress address = (UserEMailAddress) iter.next();
addAddress(message, address, Message.RecipientType.TO);
}
} //设定抄送到
Collection copyUser = sendMail.getCopyUser();
if (copyUser != null && copyUser.size() > 0) {
Iterator iter = copyUser.iterator();
while (iter.hasNext()) {
UserEMailAddress address = (UserEMailAddress) iter.next();
addAddress(message, address, Message.RecipientType.CC);
}
} //密送到
Collection copySecretUser = sendMail.getCopySecrecyUser();
if (copySecretUser != null && copySecretUser.size() > 0) {
Iterator iter = copySecretUser.iterator();
while (iter.hasNext()) {
UserEMailAddress address = (UserEMailAddress) iter.next();
addAddress(message, address, Message.RecipientType.BCC);
}
} //设定回复地址
Collection repliesUser = sendMail.getRepliesUser();
if (repliesUser != null && repliesUser.size() > 0) {
Iterator replyIter = repliesUser.iterator();
Collection replyAddresses = new ArrayList();
while (replyIter.hasNext()) {
UserEMailAddress reAddress = (UserEMailAddress) replyIter
.next();
String replyUserName = reAddress.getUserName();
String replyEmail = reAddress.getEmailAddress();
InternetAddress re = new InternetAddress(replyUserName,
replyEmail);
replyAddresses.add(re);
}
message.setReplyTo((Address[]) replyAddresses
.toArray(new Address[] {}));
}
//设定需要发送收条,第二参数为回复地址,可以多个设定
if(sendMail.isReplySign()){
//设定收条地址
repliesUser = sendMail.getRepliesUser();
if (repliesUser != null && repliesUser.size() > 0) {
Iterator replyIter = repliesUser.iterator();
Collection replyAddresses = new ArrayList();
while (replyIter.hasNext()) {
UserEMailAddress reAddress = (UserEMailAddress) replyIter
.next();
String replyUserName = reAddress.getUserName();
String replyEmail = reAddress.getEmailAddress();
InternetAddress re = new InternetAddress(replyUserName,
replyEmail);
replyAddresses.add(re);
}
message.addHeader("Disposition-Notification-To","[email protected],[email protected]");
}
}
//设定主题
message.setSubject(sendMail.getSubject()); //设定发送时间
message.setSentDate(sendMail.getSendDate()); //创建消息体
buildMessageContent(message,sendMail);
message.saveChanges();
Transport transport=session.getTransport("smtp");
MailListener listener=new MailListener();
transport.addTransportListener(listener);
transport.addConnectionListener(listener);
transport.connect(hostName,userName,password);
transport.sendMessage(message,message.getAllRecipients());
transport.close();
} protected static void buildMessageContent(Message message,Mail sendMail)throws Exception {
// create and fill the first message part
MimeBodyPart textBody = new MimeBodyPart();
textBody.setText(sendMail.getBodyText()); //添加附件
Multipart multiPart=new MimeMultipart();
Collection attackments=sendMail.getMutiparts();
if(attackments!=null&&attackments.size()>0){
Iterator iter=attackments.iterator();
while(iter.hasNext()){
Attackment attackment=(Attackment)iter.next();
String fileName=attackment.getFileName();
MimeBodyPart multiBodyPart=new MimeBodyPart();
FileDataSource ds=new FileDataSource(fileName);
multiBodyPart.setDataHandler(new DataHandler(ds));
String separator=File.separator;
int index=fileName.lastIndexOf(separator);
String name=fileName.substring(index+1);
multiBodyPart.setFileName(name);
multiPart.addBodyPart(multiBodyPart);
}
}
message.setContent(multiPart);
}