0 0

JavaMail不能连接smtp host15

我现在想验证一下javamail的基本功能,遇到了javax.mail.MessagingException: Could not connect to SMTP host: smtp.163.com, port: 25;的问题,请大牛指点……

package com;

import java.util.Properties;

import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class sendMail {
public static void main(String args[]){
String host = "smtp.163.com";
String from = "fasong@163.com";
String to = "jieshou@163.com";
try{
Properties props = System.getProperties();
props.put("mail.smtp.host", host);
Session session = Session.getDefaultInstance(props, null);
MimeMessage  message = new MimeMessage(session);
//设置发件人
message.setFrom(new InternetAddress(from));
//设置收件人
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
//设置消息主题
message.setSubject("你好 JavaMail");
//设置消息内容
message.setText("Welcome to JavaMail world!");
//发送消息
Transport.send(message);
System.out.println("消息已经发送成功");
}catch(Exception e){
e.printStackTrace();
}
}
}

问题补充:
11lingxian 写道
props.put("mail.smtp.host", host); 
props.put("mail.smtp.auth","true"); 
props.put("username","ptvnet"); 
props.put("password","******"); 



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


163的邮箱是需要验证的

我后面也想到了邮箱需要验证,然后就改成需要的验证的,我最后用的是两个qq邮箱,也在qq邮箱中设置支持smtp,可是还是出现了同样的问题,请问你这是怎么回事呀?(我的用的是公司代理上网的)
2012年3月26日 14:12

2个答案 按时间排序 按投票排序

0 0

采纳的答案

你先ping 一下 smtp.163.com 看看能通吗?


C:\>ping smtp.163.com

正在 Ping smtp.163.gslb.netease.com [123.125.50.133] 具有 32 字节的数据:
来自 123.125.50.133 的回复: 字节=32 时间=181ms TTL=46
请求超时。
来自 123.125.50.133 的回复: 字节=32 时间=148ms TTL=46
来自 123.125.50.133 的回复: 字节=32 时间=156ms TTL=46

123.125.50.133 的 Ping 统计信息:
    数据包: 已发送 = 4,已接收 = 3,丢失 = 1 (25% 丢失),
往返行程的估计时间(以毫秒为单位):
    最短 = 148ms,最长 = 181ms,平均 = 161ms

C:\>

2012年3月26日 17:12
0 0

props.put("mail.smtp.host", host); 
props.put("mail.smtp.auth","true"); 
props.put("username","ptvnet"); 
props.put("password","******"); 



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


163的邮箱是需要验证的

2012年3月26日 14:19

相关推荐

    javamail收发邮件加密和不加密

    JavaMail通过`mail.smtp.socketFactory.class`和`mail.smtp.socketFactory.port`属性实现此功能。 6. **证书与信任管理**: - 当使用加密连接时,需要处理服务器证书验证。JavaMail默认会检查服务器的证书是否由受...

    javaMail 25端口不能用

    在描述中提到的“javaMail 25端口不能用”,这通常是指在使用 JavaMail 发送邮件时,由于某些原因无法通过标准的 SMTP(Simple Mail Transfer Protocol)25端口进行通信。SMTP 是互联网上用于发送邮件的主要协议,而...

    使用smtp实现Java发送邮件源码

    在Java中,我们可以使用JavaMail API来通过SMTP服务器发送邮件。下面将详细介绍如何使用SMTP和JavaMail API实现邮件发送功能。 首先,我们需要了解SMTP的工作原理。SMTP是一种基于文本的协议,它定义了邮件服务器...

    JavaMail配置SSL服务器及安装证书

    这个工具可以帮助开发者在JavaMail配置中添加自签名或不受主流CA认可的服务器证书。 6. **Java Keystore**: Java使用Keystore作为证书存储的地方,包含公钥证书和私钥。`keytool` 是Java提供的命令行工具,用于管理...

    javamail问题及解决方案

    这是因为默认情况下,JavaMail尝试连接到本地主机的SMTP服务(通常是端口25),而不是我们期望的外部邮件服务器。为了解决这个问题,确保正确设置`host`变量,并检查网络配置是否允许与指定的邮件服务器通信。 ####...

    JavaMail相关jar包

    3. **Provider**:JavaMail中的Provider是实现特定邮件协议(如SMTP、POP3、IMAP)的具体类,它们实现了JavaMail API的接口。例如,`SMTPTransport`用于发送邮件,而`IMAPFolder`用于读取邮件。 接下来,我们将重点...

    JavaMail javamail java电子邮件客户端

    1. 创建Session对象,设置属性(如mail.smtp.host、mail.smtp.port等)。 2. 创建Message对象,设置发件人、收件人、主题和内容。 3. 使用Transport类的send方法发送Message。 以下是一个简单的使用JavaMail发送...

    JavaMail邮件发送源码 非常简单

    1. **配置Properties对象**:创建一个`Properties`对象,并设置SMTP服务器的相关属性,如主机名(mail.smtp.host)和端口号(mail.smtp.port)。如果SMTP服务器需要身份验证,还需要设置用户名(mail.smtp.user)和...

    javamail API帮助文档

    它提供了与多种邮件协议(如SMTP、POP3和IMAP)交互的能力,使得Java开发者无需了解底层邮件系统的细节就能实现复杂的邮件功能。 在“javamail API帮助文档”中,包含了详尽的API接口说明和示例代码,这对于开发者...

    javaMail邮件驱动

    `mail.jar`包含了JavaMail的主要API,如`javax.mail`包,它提供了邮件会话、消息、地址等类,以及用于设置和管理邮件服务器连接的接口。`activation.jar`则包含JavaBeans Activation Framework (JAF),这是一个用于...

    javamail-lib

    JavaMail是一个用于处理电子邮件的开源库,在Java编程环境中广泛使用,但这里提供的文件名列表并不包含任何JavaMail的代码、文档或相关资源。因此,无法生成关于JavaMail的知识点。 如果您的意图是获取JavaMail的...

    javamail依赖的包.

    JavaMail API 支持SMTP、POP3、IMAP等多种邮件传输协议,同时也支持MIME标准,能处理复杂的邮件格式,包括附件、HTML内容等。在开发过程中,正确理解和配置JavaMail的依赖包是非常关键的。 在JavaMail项目中,通常...

    javamail的jar包

    props.put("mail.smtp.host", "smtp.example.com"); props.put("mail.smtp.port", "587"); props.put("mail.smtp.auth", "true"); Session session = Session.getInstance(props, new Authenticator() { protected ...

    javamail发送邮件实例

    props.put("mail.smtp.host", "smtp.example.com"); props.put("mail.smtp.port", "587"); props.put("mail.smtp.auth", "true"); props.put("mail.smtp.starttls.enable", "true"); ``` 接着,使用`Session`对象...

    SMTP客户端的简单实现

    - `void configureSMTPServer(String host, int port, String user, String password)`: 配置SMTP服务器的信息。 - `void connect()`: 建立与SMTP服务器的连接。 - `void disconnect()`: 断开与SMTP服务器的连接...

    SSM 框架 集成javamail

    props.put("mail.smtp.host", host); props.put("mail.smtp.port", port); props.put("mail.smtp.auth", auth); props.put("mail.smtp.starttls.enable", starttlsEnable); return Session.getInstance(props, ...

    javamail-jar包.zip

    通过 `Properties` 对象可以设置各种属性,如 `mail.smtp.host` 和 `mail.smtp.port`。 3. **Transport 类**:负责将准备好的邮件发送到指定的邮件服务器。使用 `Transport.send()` 方法可以完成实际的邮件发送操作...

    javamail实例

    props.put("mail.smtp.host", "smtp.example.com"); props.put("mail.smtp.port", "587"); props.put("mail.smtp.auth", "true"); ``` 然后创建Session并进行身份验证。 3. **创建和发送邮件** - 创建 ...

    JAVAMAIL开发

    JavaMail 是一个开源的 Java API,它允许 Java 程序员通过 SMTP、POP3 或 IMAP 协议发送和接收电子邮件。这个强大的库在企业级应用和服务器端编程中非常常见,因为它提供了处理邮件的强大功能,包括附件、HTML 内容...

    简单javamail的实现(HelloWorld)

    JavaMail API 提供了广泛的类和接口,用于处理邮件服务器的各种操作,包括SMTP(Simple Mail Transfer Protocol)用于发送邮件,POP3(Post Office Protocol version 3)或IMAP(Internet Message Access Protocol)...

Global site tag (gtag.js) - Google Analytics