簡體   English   中英

無法連接到SMTP主機:xxxx,端口:java中的25

[英]Could not connect to SMTP host: x.x.x.x, port: 25 in java

我無法使用Java發送電子郵件,它引發異常:無法連接到SMTP主機:xxxx,端口:25。

我使用telnet xxxx 25,然后以相同主機,端口,用戶和密碼的php代碼成功發送了電子郵件,因此我不認為由於網絡或防火牆問題而導致此問題。

在測試中,我使用gmail服務器(smtp.gmail.com:465)在Java中以電子郵件發送了OK,但未通過主機:xxxx端口25發送電子郵件。

這是我的Java代碼:HOST = xxxx

Properties mailServerProperties = System.getProperties();
mailServerProperties.put("mail.smtp.user", USER);
mailServerProperties.put("mail.smtp.host", HOST);
mailServerProperties.put("mail.smtp.port", 25);
mailServerProperties.put("mail.smtp.debug", "true");
mailServerProperties.put("mail.smtp.auth", "true");
mailServerProperties.put("mail.smtp.starttls.enable", "true");
mailServerProperties.put("mail.smtp.socketFactory.port", 25);
mailServerProperties.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");

javax.mail.Session getMailSession = javax.mail.Session.getDefaultInstance(mailServerProperties);
MimeMessage generateMailMessage = new MimeMessage(getMailSession);
generateMailMessage.setHeader("Content-Type", "text/plain; charset=UTF-8");
generateMailMessage.setSubject(subject, "UTF-8");
generateMailMessage.setFrom(new InternetAddress(ApiConstant.EMAIL, fromEmail, "UTF-8"));
generateMailMessage.addRecipients(Message.RecipientType.TO, toAddress);
generateMailMessage.addRecipients(Message.RecipientType.CC, ccAddress);
generateMailMessage.addRecipients(Message.RecipientType.BCC, bccAddress);

Multipart multipart = new MimeMultipart();
MimeBodyPart messagePart = new MimeBodyPart();
messagePart.setContent(content, "text/html; charset=UTF-8");
multipart.addBodyPart(messagePart);       
generateMailMessage.setContent(multipart);

logger.debug("Create transport");
Transport transport = getMailSession.getTransport("smtp");
transport.connect(HOST, 25, USER, PASS);
transport.sendMessage(generateMailMessage, generateMailMessage.getAllRecipients());
transport.close();

這是我的php代碼,它起作用了。

$mail = new PHPMailer();
$mail->Host = 'x.x.x.x';
$mail->Port = '25';
$mail->SMTPAuth = true;
$mail->Username = USER;
$mail->Password = PASS;
$mail->From = '.....';
$mail->FromName = '.....';

$mail->setLanguage('vi');
$mail->isHTML(true);
$mail->CharSet = 'UTF-8';
$mail->addAttachment(FILE_NAME);
$mail->addAddress('....');
$mail->Subject ="test";
$mail->Body = "test";
$mail->Body = $body;

請幫我。

在某些網絡上,IPv6可能會出現問題。 嘗試使用VM選項運行您的應用

-Djava.net.preferIPv4Stack=true

java -Djava.net.preferIPv4Stack=true -cp . MyClass

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM