android:使用javamail发送邮件smtp tls没有保存在icloud帐户的已发送文件夹中

时间:2014-10-15 10:08:19

标签: android ssl smtp javamail

我正在使用javamail作为邮件客户端应用程序。我添加了一个带有SMTP TLS的iCloud帐户用于传出,而imap用于传入

acct.iIncomingHostType = Constants.HOSTTYPE_IMAP;
acct.sIncomingHost = "imap.mail.me.com";
acct.sIncomingHostPort = "993";
acct.iIncomingHostEncryption = Constants.ENCRYPT_SSL;

acct.sOutgoingHost = "smtp.mail.me.com";
acct.sOutgoingHostPort = "587";
acct.iOutgoingHostEncryption = Constants.ENCRYPT_TLS;
acct.bOutgoingHostSPALogin = false;

现在,当我发送邮件时,它已到达收件人邮箱 - 无论是gmail还是Outlook等,但发送的邮件不会出现在我的iCloud帐户的已发送文件夹中。

代码如下所示

Properties props = new Properties();
            /// sProtocol is "smtp"
            props.setProperty("mail.debug", "true");

            props.setProperty("mail.transport.protocol", sProtocol);
            props.setProperty("mail.host", acct.sOutgoingHost);
            props.setProperty("mail." + sProtocol + ".port",
                    acct.sOutgoingHostPort);
            props.setProperty("mail." + sProtocol + ".socketFactory.port",
                    acct.sOutgoingHostPort);
            props.setProperty("mail." + sProtocol + ".timeout", "30000");
            props.setProperty("mail." + sProtocol + ".connectiontimeout",
                    "30000");


            props.setProperty("mail." + sProtocol + ".auth", "true");

            props.setProperty("mail.debug.auth", "true");


            props.setProperty("mail." + sProtocol + ".sasl.enable", "true");



                props.setProperty("mail." + sProtocol + ".starttls.enable",
                        "true");
                props.setProperty("mail." + sProtocol + ".ssl.trust", "*");

                props.setProperty("mail." + sProtocol
                        + ".ssl.socketFactory.class",
                        "com.isaacdanielgroup.sempostmark.SEMPSSLSocketFactory");
                props.setProperty("mail." + sProtocol
                        + ".ssl.socketFactory.fallback", "false");

1 个答案:

答案 0 :(得分:1)

首先,您可以通过getting rid of all the socket factory stuff简化程序。

没有任何魔法可以将已发送的邮件添加到“已发送”文件夹中。如果你想要那里的邮件副本,你需要自己把它放在那里。有关示例,请参阅msgsend.java sample program