/ 可以参考一下 这个链接来自: http://hi.baidu.com/zzcc%5F8/blog/item/13746d189fb842bf4bedbc59.html
http://www.blogjava.net/amigoxie/archive/2007/04/28/114310.html
// 下面这个例子可以通过测试:我们注意红色字体
// Struts2 中进行的
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "spring-beans.dtd" >
<beans>
<bean id="sender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host">
<value>mail.logicsolutions.com</value>
</property>
<property name="username">
<value>ale.hao</value>
</property>
<property name="password">
<value>logic123</value>
</property>
<property name="javaMailProperties">
<props>
<prop key="mail.smtp.auth">true</prop>
</props>
</property>
</bean>
<bean id="mailFactory" class="com.budco.bmp.core.email.TestMail.MailSenderFactory">
<property name="javaMailSender">
<ref bean="sender" />
</property>
</bean>
<bean id="baseMail" class="com.budco.bmp.core.email.TestMail.BaseMailDefined">
<property name="to">
<!-- 这是本人和同事的邮箱地址 两个用户的地址 可以写多人的邮件地址-->
<value>ale.hao@logicsolutions.com,weald.yuan@logicsolutions.com</value>
</property>
<property name="from">
<value>no-reply@hiredmyway.com</value>
</property>
<property name="subject">
<value>Test Spring Mail sender</value>
</property>
<property name="text">
<value>this is a test spring mail !!!!!!!!!!! ok!</value>
</property>
</bean>
</beans>
//
package com.budco.bmp.core.email.TestMail;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class TestApp2 {
// activation.jar AND mail.jar import
public static void main(final String[] args) throws Exception {
// 可以有多个配置文件.XML
final ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext(
new String[] { "com/budco/bmp/core/email/TestMail/TestMail2.xml" });
final MailSenderFactory factory = (MailSenderFactory) ctx.getBean("mailFactory");
final BaseMailDefined bmd = (BaseMailDefined) ctx.getBean("baseMail");
factory.senderSimpleMail(bmd);
factory.senderMimeMail(bmd);
factory.senderHtmlMail(bmd);
}
}
//
package com.budco.bmp.core.email.TestMail;
import java.io.File;
import java.util.Date;
import javax.mail.internet.MimeMessage;
import org.springframework.core.io.FileSystemResource;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import com.sun.xml.internal.messaging.saaj.packaging.mime.MessagingException;
public class MailSenderFactory {
private JavaMailSender javaMailSender;
public void setJavaMailSender(final JavaMailSender javaMailSender) {
this.javaMailSender = javaMailSender;
}
/**
*Simple mail send
*
* @param bmd
*/
public void senderSimpleMail(final BaseMailDefined bmd) {
final SimpleMailMessage msg = new SimpleMailMessage();
msg.setFrom(bmd.getFrom());
msg.setText(bmd.getText());
msg.setTo(bmd.getTo());
msg.setSubject(bmd.getSubject());
javaMailSender.send(msg);
}
/**
* Add an attachment send
* 可以向多人发mail
* @param bmd
* @throws MessagingException
* @throws javax.mail.MessagingException
*/
public void senderMimeMail(final BaseMailDefined bmd) throws Exception, javax.mail.MessagingException {
final MimeMessage msg = javaMailSender.createMimeMessage();
final MimeMessageHelper helper = new MimeMessageHelper(msg, true);
// final InternetAddress[] iaToList = new
// InternetAddress().parse(bmd.getTo());
if (bmd.getTo() == null || bmd.getTo().length == 0) {
return;
} else {
final InternetAddress[] address = new InternetAddress[bmd.getTo().length];
int i = 0;
for (final String s : bmd.getTo()) {
address[i] = new InternetAddress(s);
i++;
}
// helper.setTo(iaToList);
msg.setRecipients(Message.RecipientType.TO, address);
helper.setText(bmd.getText());
helper.setFrom(bmd.getFrom());
helper.setSubject(bmd.getSubject());
helper.setSentDate(new Date());
// Attachment
// 带有附件
helper.setText("<html><head>Test_Spring</head><body>Hello:Attachment!!!!!></body></html>", true);
// 上传的文件 名
final FileSystemResource file = new FileSystemResource(new File("D:/t-mp12.rar"));
helper.addAttachment("t-mp12.rar", file);
javaMailSender.send(msg);
}
}
/**
* send Inline picture OR html E_mail
*
* @param bmd
* @throws MessagingException
* @throws javax.mail.MessagingException
*/
public void senderHtmlMail(final BaseMailDefined bmd) throws MessagingException, javax.mail.MessagingException {
final MimeMessage msg = javaMailSender.createMimeMessage();
final MimeMessageHelper helper = new MimeMessageHelper(msg, true, "UTF-8");
helper.setTo(bmd.getTo());
// helper.setText(bmd.getText(), true);
helper.setFrom(bmd.getFrom());
helper.setSubject(bmd.getSubject());
helper.setSentDate(new Date());
// send Inline picture OR html E_mail
//带有图片的
helper
.setText(
"<html><head><meta http-equiv='content-type' content='text/html;charset=UTF-8'></head><body>Hello:<font color='red' size='10'>"
+ bmd.getText() + "</font><br></br><img src='cid:identifier1235'></body></html>", true);
final FileSystemResource res = new FileSystemResource(new File("D:/t-mp12/lingoes.png"));
helper.addInline("identifier1235", res);
javaMailSender.send(msg);
}
}
//
package com.budco.bmp.core.email.TestMail;
public class BaseMailDefined {
protected String from;
protected String subject;
protected String text;
public String getText() {
return text;
}
public String[] getTo() {
return to;
}
public void setTo(final String[] to) {
this.to = to;
}
protected String[] to;
public String getFrom() {
return from;
}
public String getSubject() {
return subject;
}
public void setText(final String text) {
this.text = text;
}
public void setFrom(final String from) {
this.from = from;
}
public void setSubject(final String subject) {
this.subject = subject;
}
}