如何在java

时间:2016-08-02 08:06:36

标签: java javamail

我有一个允许用户发送电子邮件的程序。为此,我的代码要求用户输入他们的电子邮件(发件人电子邮件)。然后程序会检查' @'之后的内容。如果它的gmail然后我设置属性:

props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.host", "smtp.gmail.com");
props.put("mail.smtp.port", "587");

如果是雅虎,那么我设置属性:

props.put("mail.smtp.auth", "true");
props.put("mail.smtp.socketFactory.port","465");                                        props.put("mail.smtp.socketFactory.class","javax.net.ssl.SSLSocketFactory");
props.put("mail.smtp.host","smtp.mail.yahoo.com");
props.put("mail.smtp.port","465");

然后我使用这样的属性创建一个会话对象:

Session session = Session.getInstance(props, new javax.mail.Authenticator()    {
    protected PasswordAuthentication getPasswordAuthentication() {
        return new PasswordAuthentication(username, password);
    }
});

以上工作正常。我想要做的是让程序知道应该是什么设置,以防用户有一个托管在谷歌或微软的域。例如,代替电子邮件是yyy@gmail.com,它将是yyy@customer-domain.com。有没有办法让我的程序知道电子邮件的托管位置,或者我必须让程序询问用户?感谢。

0 个答案:

没有答案