我用spring框架的写个邮件发送程序,代码如下:
public boolean sendEmail(String emailAddress,  String subject, String content) {  

SimpleMailMessage msg = new SimpleMailMessage(this.message);
    msg.setTo(emailAddress);
    msg.setText(content);
    msg.setSubject(subject);
    try
{
            mailSender.send(msg);
        }
        catch(MailException e)
{
            log.debug(e.getMessage());
            System.out.println(e.getMessage());
            return false;
        }
        return true;
}
配置文件:
<bean id="mailSender"
class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host" value="stmp.sohu.com" />
<property name="javaMailProperties">
<props>
<prop key="mail.smtp.auth">true</prop>
<prop key="mail.smtp.timeout">25000</prop>
</props>
</property>
<property name="username" value="[email protected]" />
<property name="password" value="password" />
</bean>
<bean id="mailMessage"
class="org.springframework.mail.SimpleMailMessage">
<property name="from" value="测试" />
</bean>

测试时出现如下问题:
Mail server connection failed; nested exception is javax.mail.MessagingException
: Unknown SMTP host: stmp.sohu.com;
请教各位大虾如何解决?小弟谢先啦!

解决方案 »

  1.   

    本机的DNS没有问题吗?
    好像是找不到stmp.sohu.com这个地址对应的ip
      

  2.   

    这与DNS和IP有关系吗?我不了解这个,能否详细点讲?谢谢
      

  3.   

    我也不是很懂 猜想的
    如果本机不能连接到时smtp.sohu.com的网络 这个东西也是没办法执行的啊
      

  4.   

    你先试试用outlook能不能收发邮件 如果不能 就是网络配置问题了
      

  5.   


    我刚用outlook试了下,确实不能收发邮件
      

  6.   


    是我刚才在配置outlook时把帐号写错了,改好后,outlook是能收发邮件的。但代码问题还是出现同样的错误。
      

  7.   

    这个错了!
    <property name="host" value="stmp.sohu.com" /> 
    应该是:
    <property name="host" value="smtp.sohu.com" /> 
      

  8.   

    确实是这里错了,是俺太粗心了!
    我改了之后,出现的异常变为:
    Failed messages: javax.mail.SendFailedException: Invalid Addresses;
      nested exception is:
            class javax.mail.SendFailedException: 504 5.5.2 <  K >: Sender address r
    ejected: need fully-qualified address
      

  9.   

    Invalid Addresses楼主传进来的 emailAddress 是什么?
      

  10.   

    [email protected],一个email帐号名
      

  11.   

    <bean id="mailMessage"
    class="org.springframework.mail.SimpleMailMessage">
    <property name="from" value="测试" />
    </bean> 
    改成下面试试:
    <bean id="mailMessage"
    class="org.springframework.mail.SimpleMailMessage">
    <property name="from" value="[email protected]" />
    </bean> 
      

  12.   


    我改了后,在本地机测试可以了,但部署到服务器又不行了,服务器linux系统,不知是不是服务器环境的问题。
      

  13.   

    按sgcl的两点修改后,换台windows服务器后就搞定了。谢谢各位仁兄的指导和分享!