.xml<bean id="mailSender"
class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host" value="smtp.163.com"></property>
<property name="javaMailProperties">
  <props>
    <!-- 如果要使用用户名和密码验证,这一步需要 -->
    <prop key="mail.smtp.auth">true</prop>
  </props>
</property>
<property name="username"><value>用户名</value></property>
<property name="password"><value>密码</value></property>
</bean>
<!-- Email 发送接口注入 -->
<bean id="mailService" class="com.unet.util.MailService">
<property name="mailSender" ref="mailSender" />
</bean>
类:public class MailService implements IMailService {
private static Logger logger = Logger.getLogger(MailService.class);  
private MailSender mailSender;
        private MailMessage mailMessage;

/**
 * @param mailMessage the mailMessage to set
 */
public void setMailMessage(MailMessage mailMessage) {
this.mailMessage = mailMessage;
}
    
    public void sendMail(String mailAddress, String mailTitle, String mailText) throws MailException {
try {
SimpleMailMessage smm = new SimpleMailMessage();
smm.setFrom("用户名@163.com");
smm.setSubject(mailTitle);
smm.setTo(mailAddress);
smm.setText(mailText);
logger.info("mailSender为空:" + this.mailSender == null);  
            this.mailSender.send(smm);
}catch (MailException e) {
e.printStackTrace();       
}
 logger.info("-----------发送成功!---------");   
    } /**
 * @param mailSender the mailSender to set
 */
public void setMailSender(MailSender mailSender) {
this.mailSender = mailSender;
} /**
 * @return the mailSender
 */
public MailSender getMailSender() {
return mailSender;
}


}结果出错:
org.springframework.mail.MailAuthenticationException: Authentication failed; nested exception is javax.mail.AuthenticationFailedException
at org.springframework.mail.javamail.JavaMailSenderImpl.doSend(JavaMailSenderImpl.java:416)
at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:308)
at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:297)
at com.unet.util.MailService.sendMail(MailService.java:45)
        .
        .
         .
        .
Caused by: javax.mail.AuthenticationFailedException
at javax.mail.Service.connect(Service.java:306)
at org.springframework.mail.javamail.JavaMailSenderImpl.doSend(JavaMailSenderImpl.java:389)为什么啊!!

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【golflover】截止到2008-07-15 14:27:18的历史汇总数据(不包括此帖):
    发帖的总数量:3                        发帖的总分数:60                       每贴平均分数:20                       
    回帖的总数量:2                        得分贴总数量:0                        回帖的得分率:0%                       
    结贴的总数量:1                        结贴的总分数:20                       
    无满意结贴数:0                        无满意结贴分:0                        
    未结的帖子数:2                        未结的总分数:40                       
    结贴的百分比:33.33 %               结分的百分比:33.33 %                  
    无满意结贴率:0.00  %               无满意结分率:0.00  %                  
    楼主该结一些帖子了
      

  2.   

    public void sendMail() {
      mailMessage =  new org.springframework.mail.SimpleMailMessage();
      mailMessage.setTo("用户名[email protected]");
      mailMessage.setFrom("用户名@163.com");
      mailMessage.setText("内容");
      mailMessage.setSubject("主题");
        try {
          mailSender.send(mailMessage);
        } catch (MailException e) {
          // TODO Auto-generated catch block
          System.out.println("发送失败");
        }
      }
      

  3.   

    <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
    <property name="host">
    <value>smtp.163.com</value>
    </property>
    <property name="javaMailProperties">
    <props> 
    <!-- 如果要使用用户名和密码验证,这一步需要 --> 
        <prop key="mail.smtp.auth">true</prop>
    </props>
    </property>
    <property name="username">
    <value>用户名@163.com</value>
    </property>
    <property name="password">
    <value>123456</value>
    </property>
    </bean><!-- 简单的message --> 
    <bean id="testMailSender" class="test.mail.TestSenderMail">
    <property name="mailSender">
    <ref bean="mailSender"/>
    </property>
    </bean>
      

  4.   

     at com.unet.util.MailService.sendMail(MailService.java:45)
    是哪行?
      

  5.   

    this.mailSender.send(smm);
    这行