Springメール送信:JavaMail SenderImpl--553 You are not authorized to send mail
3335 ワード
問題を解決する1:
http://topic.csdn.net/t/20061118/00/5167100.html
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());
}
}