未知的SMTP主机android JavaMail

时间:2012-08-07 11:23:30

标签: java android

我有一个邮件服务器,它与我的手机在同一个网络上托管,但我不断收到Unknow SMTP host的例外情况。当然,我已经阅读了几个地方,当主机名拼写不正确时会发生此异常。但在这种情况下, IS 。在C#中,它的完成方式如下:

var client = new SmtpClient(_strSmtpHost);
client.UseDefaultCredentials = true; 
var mailMessage = new MailMessage(_strFrom, emailTo);
mailMessage.Subject = subject;
mailMessage.Attachments.Add(attachment);
client.Send(mailMessage);

在我的应用程序中,它以这种方式完成:

 SendMail m = new SendMail("Username", "password"); 

      String[] toArr = {"TO@EXAMPLE.com"};   
      m.setTo(toArr); 
      m.setFrom("FROM@EXAMPLE.com"); 
      m.setSubject("This is an email sent using my Mail JavaMail wrapper from an Android device."); 
      m.setBody("Email body."); 

      try { 
        m.addAttachment(fileName); 

        if(m.send()) { 
          Log.i("MAIL SENDER: ", "Succesfully");
        } else { 
              Log.i("MAIL SENDER: ", "UnSuccesfully");
        } 
      } catch(Exception e) { 
        Log.e("MailApp", "Could not send email" + e); 
      } 

在我的SendMail类中,我定义了一个包含主机<{1}}地址的字符串

DNS

在尝试连接之前,我想验证发送邮件的邮件地址的用户名和密码:

_host = "napserver"; // default smtp server
_port = "25"; // default smtp port

然后尝试连接并发送消息

Session session = Session.getInstance(props, new GMailAuthenticator(_user, _pass));

出于测试目的,我尝试了Gmail的 Transport transport = session.getTransport("smtp"); transport.connect(_host, 25, _user, _pass); Transport.send(msg); 地址,这样就可以了,邮件也被发送到指定的邮件帐户。任何人都可以给我一个提示吗?

修改

我还应该提一下,我尝试通过SMTP连接到此邮件服务器,以及与主机Telnet和端口napserver连接时PuTTy的输出:

25

编辑2

从PuTTy输出中可以看出:

220 napserver.nap01.dac.no.eu-admin.net Microsoft ESMTP MAIL Service, Version: 6                                               .0.3790.3959 ready at  Tue, 7 Aug 2012 13:38:55 -0700

我的邮件服务器使用ESMTP,但据我所知,这只是实现了一些安全层,依此类推。也许这就是错误所在?

编辑3

我尝试通过远程桌面访问邮件服务器,我为了确保服务器和手机位于同一网络上而对我的手机IP地址进行了ping操作,它是..

0 个答案:

没有答案