Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在android中使用Microsoft exchange帐户发送邮件_Android_Email - Fatal编程技术网

在android中使用Microsoft exchange帐户发送邮件

在android中使用Microsoft exchange帐户发送邮件,android,email,Android,Email,我已经做了一个应用程序,在后台发送邮件。当我使用gmail帐户作为发件人帐户时,它工作得非常好。但是,当我使用microsoft exchange帐户并根据microsoft帐户设置了主机和端口时,它仍然显示类似于logcat中的错误。我正在跟踪链接 我找了很多次都找不到答案 发送邮件的代码: 日志: webmail1.xyz.com不是一个真正的服务器,为什么期望它工作呢?这就是一个例子。实际服务器是mail1.domain.com堆栈跟踪中的第一行是javax.mail.MessaginEx

我已经做了一个应用程序,在后台发送邮件。当我使用gmail帐户作为发件人帐户时,它工作得非常好。但是,当我使用microsoft exchange帐户并根据microsoft帐户设置了主机和端口时,它仍然显示类似于logcat中的错误。我正在跟踪链接

我找了很多次都找不到答案

发送邮件的代码:

日志:


webmail1.xyz.com不是一个真正的服务器,为什么期望它工作呢?这就是一个例子。实际服务器是mail1.domain.com堆栈跟踪中的第一行是javax.mail.MessaginException:无法连接到SMTP主机:webmail1.xyz.com,端口:443;你在哪里设置主机?
_host = webmail1.xyz.com; // default smtp server 
_port = 443; // default smtp port 
_sport = 443; // Security port


Properties props = _setProperties(); 

Session session = Session.getInstance(props, this); 

      MimeMessage msg = new MimeMessage(session); 

      msg.setFrom(new InternetAddress(_from)); 

      InternetAddress[] addressTo = new InternetAddress[_to.length]; 
      for (int i = 0; i < _to.length; i++)
      { 
        addressTo[i] = new InternetAddress(_to[i].trim()); 
      } 
        msg.setRecipients(MimeMessage.RecipientType.TO, addressTo); 

      msg.setSubject(_subject); 
      msg.setSentDate(new Date()); 

      // setup message body 
      BodyPart messageBodyPart = new MimeBodyPart(); 
      messageBodyPart.setText(_body); 
      _multipart.addBodyPart(messageBodyPart); 

      // Put parts in message 
      msg.setContent(_multipart); 

      // send email 

      Transport.send(msg); 

 private Properties _setProperties() 
 { 
Properties props = new Properties(); 

props.put("mail.smtp.host", _host); 

if(_debuggable) { 
  props.put("mail.debug", "true"); 
} 

if(_auth) { 
  props.put("mail.smtp.auth", "true"); 
} 

props.put("mail.smtp.port", _port); 
props.put("mail.smtp.starttls.enable","true");

props.put("mail.smtp.socketFactory.port", _sport); 
props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); 
props.put("mail.smtp.socketFactory.fallback", "true");

return props; 
}
02-11 18:10:51.170: W/System.err(2130): javax.mail.MessagingException: Could not connect to SMTP host: webmail1.xyz.com, port: 443;
02-11 18:10:51.170: W/System.err(2130):   nested exception is:
02-11 18:10:51.170: W/System.err(2130):     javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
02-11 18:10:51.170: W/System.err(2130):     at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1391)
02-11 18:10:51.170: W/System.err(2130):     at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:412)
02-11 18:10:51.170: W/System.err(2130):     at javax.mail.Service.connect(Service.java:310)
02-11 18:10:51.170: W/System.err(2130):     at javax.mail.Service.connect(Service.java:169)
02-11 18:10:51.170: W/System.err(2130):     at javax.mail.Service.connect(Service.java:118)
02-11 18:10:51.170: W/System.err(2130):     at javax.mail.Transport.send0(Transport.java:188)
02-11 18:10:51.170: W/System.err(2130):     at javax.mail.Transport.send(Transport.java:118)
02-11 18:10:51.170: W/System.err(2130):     at com.xyz.Main.Mail.send(Mail.java:123)
02-11 18:10:51.170: W/System.err(2130):     at com.xyz.Fragments$SendMail.doInBackground(DownloadTab.java:634)
02-11 18:10:51.170: W/System.err(2130):     at com.xyz.Fragments$SendMail.doInBackground(DownloadTab.java:1)
02-11 18:10:51.170: W/System.err(2130):     at android.os.AsyncTask$2.call(AsyncTask.java:287)
02-11 18:10:51.170: W/System.err(2130):     at java.util.concurrent.FutureTask.run(FutureTask.java:234)
02-11 18:10:51.170: W/System.err(2130):     at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
02-11 18:10:51.170: W/System.err(2130):     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
02-11 18:10:51.170: W/System.err(2130):     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
02-11 18:10:51.170: W/System.err(2130):     at java.lang.Thread.run(Thread.java:856)
02-11 18:10:51.170: W/System.err(2130): Caused by: javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
02-11 18:10:51.170: W/System.err(2130):     at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:381)
02-11 18:10:51.170: W/System.err(2130):     at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl$SSLInputStream.<init>(OpenSSLSocketImpl.java:636)
02-11 18:10:51.170: W/System.err(2130):     at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.getInputStream(OpenSSLSocketImpl.java:607)
02-11 18:10:51.170: W/System.err(2130):     at com.sun.mail.smtp.SMTPTransport.initStreams(SMTPTransport.java:1449)
02-11 18:10:51.170: W/System.err(2130):     at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1366)
02-11 18:10:51.170: W/System.err(2130):     ... 15 more
02-11 18:10:51.170: W/System.err(2130): Caused by: java.security.cert.CertificateException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
02-11 18:10:51.170: W/System.err(2130):     at org.apache.harmony.xnet.provider.jsse.TrustManagerImpl.checkTrusted(TrustManagerImpl.java:276)
02-11 18:10:51.170: W/System.err(2130):     at org.apache.harmony.xnet.provider.jsse.TrustManagerImpl.checkServerTrusted(TrustManagerImpl.java:197)
02-11 18:10:51.170: W/System.err(2130):     at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.verifyCertificateChain(OpenSSLSocketImpl.java:584)
02-11 18:10:51.180: W/System.err(2130):     at org.apache.harmony.xnet.provider.jsse.NativeCrypto.SSL_do_handshake(Native Method)
02-11 18:10:51.180: W/System.err(2130):     at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:378)
02-11 18:10:51.180: W/System.err(2130):     ... 19 more
02-11 18:10:51.180: W/System.err(2130): Caused by: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
02-11 18:10:51.180: W/System.err(2130):     ... 24 more
02-11 18:10:51.211: W/EGL_emulation(2130): eglSurfaceAttrib not implemented