百度找了半天发现问题关键在于使用固定的格式来填充From属性,如下:
代码如下 | 复制代码 |
// 设置收件人,寄件人 String nick = javax.mail.internet.MimeUtility.encodeText("您的昵称"); messageHelper.setFrom(new InternetAddress(nick + " <service@caomeishuo.com>")); messageHelper.setTo(toMail); messageHelper.setSubject(subject); |
全部实例代码
spring 对mail的支持是org.springframework.mail.MailSender接口来定义的,其中的 org.springframework.mail.javamail.JavamailSenderImpl这个实现类提供了对javamail的支持,下面简单介绍其用法,首先看下不用注入的方法,再看用注入的方法。
1、发送简单邮件的例子
首先,我们要需要springframwork 1.2.8中lib目录下的j2ee目录的activation.jar和mail.jar文件,将它们放到工程的lib目录下去。
发送一个简单邮件的例子如下
代码如下 | 复制代码 |
import org.springframework.mail.javamail.JavaMailSenderImpl; import org.springframework.mail.SimpleMailMessage; public class SimpleMailDemo { |
2、发送HTML格式的邮件
要发送HTML格式的话,要用
代码如下 | 复制代码 |
org.springframework.mail.javamail.MimeMessageHelper来建立HTML邮件 import org.springframework.mail.javamail.JavaMailSenderImpl; import javax.mail.internet.MimeMessage; import org.springframework.mail.javamail.MimeMessageHelper; public class HTMLMailDemo { Hello! Spring!" |
3、发送带附件的邮件
这时要用
代码如下 | 复制代码 |
MimeMessageHelper的addAttachement()方法 import java.io.File; import org.springframework.mail.javamail.JavaMailSenderImpl; import javax.mail.internet.MimeMessage; import org.springframework.core.io.FileSystemResource; import org.springframework.mail.javamail.MimeMessageHelper; public class AttachedFileDemo { public static void main(String[] args) throws Exception { JavaMailSenderImpl senderImpl = new JavaMailSenderImpl(); //SMTP验证时,需要用户名和密码 senderImpl.setUsername("abc"); senderImpl.setPassword("defdf"); MimeMessage mailMessage = senderImpl.createMimeMessage(); Hello! Spring!" |
4、用注入的方式来配置邮件,和之前的差不多拉
smtp.xxx.com
true
你的Email地址
你的Email密码
收件人地址
你的地址
A Spring Mail sender
上面的配置好以后就可以直接发送了, 看看TestSenderMail.java的代码:
代码如下 | 复制代码 |
package test.mail; import org.springframework.mail.MailException; public class TestSenderMail { |
TestApp.java
代码如下 | 复制代码 |
package test.mail; import org.springframework.context.ApplicationContext; public class TestApp { TestSenderMail sender = (TestSenderMail) context |