我正在运行Selenium/Cucumber测试,使用Gmail API访问/读取来自JavaMail帐户的电子邮件。所有这些在本地都能正常工作,但是在TeamCity服务器上运行Selenium时,到imap的连接会失败。似乎运行TeamCity的计算机无法连接到端口993。
以下是我尝试过的测试/步骤:
本地运行的established
telnet imap.gmail.com 993
,每次(Windows 10)
com.sun.mail.util.MailConnectException: Couldn't connect to host, port: imap.gmail.com, 993; timeout -1
com.sun.mail.util.MailConnectException: Couldn't connect to host, port: imap.gmail.com, 993; timeout -1
Caused by: java.net.ConnectException: Connection refused: connect
helped
telnet imap.gmail.com 993
没有导致TeamCity计算机上的TeamCity openssl s_client -connect imap.gmail.com:993
在中产生结果7592:error:0200274D:system library:connect:reason(1869):../openssl-1.1.1a/crypto/bio/b_sock2.c:110:
7592:error:2008A067:BIO routines:BIO_connect:connect error:../openssl-1.1.1a/crypto/bio/b_sock2.c:111:
7592:error:0200274D:system library:connect:reason(1869):../openssl-1.1.1a/crypto/bio/b_sock2.c:110:
7592:error:2008A067:BIO routines:BIO_connect:connect error:../openssl-1.1.1a/crypto/bio/b_sock2.c:111:
connect:errno=0
telnet imap.gmail.com 993
不受此影响,不管怎么说,这是Selenium中使用的在本地工作的代码:
Properties props = System.getProperties();
props.setProperty("mail.store.protocol", "imaps");
Session session = Session.getInstance(props, null);
Store store = session.getStore("imaps");
store.connect("imap.gmail.com", email, password);
总之:代码/ imap连接在本地工作,但在服务器计算机上不工作。在Windows防火墙中启用端口993上的传出连接没有帮助。
任何想法都会很感激的,因为我很喜欢这个。
发布于 2021-02-01 14:24:53
问题是:外部硬件防火墙阻塞了993端口上的传出连接。
通过允许在该端口上连接解决了这些问题。
https://stackoverflow.com/questions/65957249
复制相似问题