发送邮件地址错误

javax.mail.SendFailedException: Invalid Addresses;
  nested exception is:
    class com.sun.mail.smtp.SMTPAddressFailedException: 550 5.1.1 Mailbox <null> does not exist
;
  nested exception is:
    class com.sun.mail.smtp.SMTPAddressFailedException: 550 5.1.1 Mailbox <null> does not exist

    at com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:1141)
    at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:536)
    at javax.mail.Transport.send0(Transport.java:151)
    at javax.mail.Transport.send(Transport.java:80)
    at util.MailUtil.sendMail(MailUtil.java:184)
    at mail.MailBusiness.sendMailIm(MailBusiness.java:272)
    at mail.MailThread.run(MailThread.java:25)

 

原因可能是发送邮件的地址、帐号、密码、接收人、抄送人、密抄等错误,仔细检查。

参考:http://www.magicwinmail.com/docs/returnmail/returnmail.htm

由于在保存为空的如抄送人时,保存下来的不是null,而是‘null’字符串,因此出现错误。

如下:

因此需要修改,改成

/**
     * 给值生成引号
     * <br>
     * author:os.liuqiang
     * <br>
     * 2016-10-26
     * @param obj
     * @return
     */
    private String valueStr(Object obj)
    {
        if(obj!=null)
        {
            
            return "'"+obj.toString()+"'";
        }
        
        return null;
    }
          ....
            String id=valueStr((Object)tmpMo.getId()); String server_id=valueStr((Object)tmpMo.getServerId()); String app_id=valueStr((Object)tmpMo.getAppId()); String mtype_id=valueStr((Object)tmpMo.getMtypeId()); String mail_id=valueStr((Object)tmpMo.getMailId()); String mail_from=valueStr((Object)tmpMo.getMailFrom()); String mail_to=valueStr((Object)tmpMo.getMailTo()); String mail_cc=valueStr((Object)tmpMo.getMailCc()); String mail_bcc=valueStr((Object)tmpMo.getMailBcc()); String mail_subject=valueStr((Object)tmpMo.getMailSubject()); String mail_body=valueStr((Object)tmpMo.getMailBody()); String status=valueStr((Object)tmpMo.getStatus()); sql = "insert into MAIL_SEND_IM(id,server_id,app_id,mtype_id,mail_id,mail_from,mail_to,mail_cc," + " mail_bcc,mail_subject,mail_body,status,create_dt) " + "values("+id+","+server_id+","+app_id+","+mtype_id+","+mail_id+","+mail_from+","+mail_to+","+ mail_cc+","+mail_bcc+","+mail_subject+","+mail_body+","+status+",getdate() )"; System.out.println("insert SQL:"+sql); retV=dbSession.createSQLQuery(sql).executeUpdate();

 

posted @ 2017-07-28 15:05  小闲石  阅读(773)  评论(0编辑  收藏  举报