解决问题1:
http://topic.csdn.net/t/20061118/00/5167100.html
package com.spring.sample; import java.util.Properties; public class MailProperties extends Properties { public MailProperties() { super.setProperty( "mail.smtp.auth", "true"); } }
<bean id= "mailSender " class= "org.springframework.mail.javamail.JavaMailSenderImpl "> <property name= "javaMailProperties "> <bean class= "com.spring.sample.MailProperties " /> </property> <property name= "host "> <value> smtp.163.com </value> </property> <property name= "username "> <value> username </value> </property> <property name= "password "> <value> password </value> </property> </bean>
解决问题2:
package com.mail; import java.util.Properties; public class MailProperties extends Properties { public MailProperties() { super.setProperty("mail.smtp.auth", "true"); } }
public void sendAttachmentMail(CtuEmail po){ try { System.out.println("@@Start Of Send EMail. From="+sendFromEMailAddr+",To="+po.getReceipient()+",CC="+po.getCc()+",BCC="+po.getBcc()); JavaMailSenderImpl mailSender= new JavaMailSenderImpl(); mailSender.setHost(sendFromHostName); mailSender.setUsername(sendFromUserName); mailSender.setPort(25); //mailSender.setUsername(sendFromEMailAddr); mailSender.setPassword(sendFromPassword); //这里加上验证,就没问题了。 mailSender.setJavaMailProperties(new MailProperties()); MimeMessage mime = mailSender.createMimeMessage(); MimeMessageHelper helper; try { helper = new MimeMessageHelper(mime,true,"utf-8"); helper.setFrom(sendFromEMailAddr); helper.setTo(getArrayAddr(po.getReceipient())); helper.setSubject(" 测试spring Mail的附件功能"); helper.setText("DDDDDDDDDD",true); File file=new File("C:/a.zip"); helper.addAttachment(MimeUtility.encodeWord(file.getName()), file); } catch (MessagingException e) { // TODO Auto-generated catch block e.printStackTrace(); po.setErrorMessage(e.getMessage()); } //无法解析类型 javax.activation.DataSource mailSender.send(mime); po.setStatus("Y"); System.out.println("@@End Of Send EMail._________________________"); } catch (Exception e) { e.printStackTrace(); po.setErrorMessage(e.getMessage()); } }