使用Java验证smtp服务器凭据,而无需实际发送邮件 [英] Validate smtp server credentials using java without actually sending mail

查看:252
本文介绍了使用Java验证smtp服务器凭据,而无需实际发送邮件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

要验证smtp服务器凭据,我应该使用transport.connect()吗?

To verify smtp server credentials shall I use transport.connect()?

Session session = Session.getInstance(properties,authenticator);

 Transport tr=session.getTransport("smtp");

 tr.connect();

检查smtp服务器凭据是否正确?

Is it correct method to check smtp server credentials?

推荐答案

此问题:具有Java解决方案作为已接受答案的一部分:

This question: 'Verify mail server connection programmatically in ColdFusion' has a java solution as part of the accepted answer:

int port = 587;
String host = "smtp.gmail.com";
String user = "username@gmail.com";
String pwd = "email password";

try {
    Properties props = new Properties();
    // required for gmail 
    props.put("mail.smtp.starttls.enable","true");
    props.put("mail.smtp.auth", "true");
    // or use getDefaultInstance instance if desired...
    Session session = Session.getInstance(props, null);
    Transport transport = session.getTransport("smtp");
    transport.connect(host, port, user, pwd);
    transport.close();
    System.out.println("success");
 } 
 catch(AuthenticationFailedException e) {
       System.out.println("AuthenticationFailedException - for authentication failures");
       e.printStackTrace();
 }
 catch(MessagingException e) {
       System.out.println("for other failures");
       e.printStackTrace();
 }

这篇关于使用Java验证smtp服务器凭据,而无需实际发送邮件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆