`

javaMail学习(五)——使用javaMail给Q Q 邮 箱 账 户 发简单邮件

阅读更多

代码跟网 易 邮 箱的那篇差不多,除了smtp服务器地址不同之外,还需要添加“开 启 S S L 加 密 ”的代码。

package com.wjl.mail.utils;

import java.security.GeneralSecurityException;
import java.util.Properties;

import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.Message.RecipientType;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

import com.sun.mail.util.MailSSLSocketFactory;

/**
 * 邮 件 发 送 的 工 具 类
 * Q Q 邮 箱 互 相 发 送 消 息
*/
public class MailUtils {
	private static String userName = "XXXX";//发 送邮 件的Q Q邮 箱 账 号
	private static String password = "XXXX";//授 权 码
	private static String userName2 = "XXXXX";//接 收 邮 件 的Q Q邮 箱 账 号
	private static String port = "465";//465、587
	/**
	 * 该 方 法 用 来 发 送 邮 件
	 * @param to:给 谁 发 邮 件
	 * **/
	public static void sendMain(String to) throws AddressException, MessagingException, GeneralSecurityException{
		//1、创 建 连 接 对 象,连 接 到 邮 箱 服 务 器
		Properties props = new Properties();
		//开 启 debug 调 试  
		props.setProperty("mail.debug", "true");  
		//stmp服 务 器 需 要 进 行 身 份 验 证,也 就 是 用  户 名 和 密 码 的 校 验,这 样 才 能 通 过 验 证
		props.setProperty("mail.smtp.auth", "true"); 
		//发 送 邮 件 协 议 名 称  
		props.setProperty("mail.transport.protocol", "smtp");  
		//设 置 邮 件服 务 器 主 机 名  
		props.setProperty("mail.host", "smtp.qq.com");//设 置 成 q q 的发 件 服 务 器:(不要使用smtp.exmail.qq.com)
		//设 端 口 号 (该 配 置 可 写 可 不 写)
		props.setProperty("mail.smtp.port", port);
		//授 权 码
		props.setProperty("mail.smtp.password",password);        
		 
		//开 启 S S L 加 密,否 则 会 失 败
		MailSSLSocketFactory sf = new MailSSLSocketFactory();
		sf.setTrustAllHosts(true);
		props.put("mail.smtp.ssl.enable", "true");
		props.put("mail.smtp.ssl.socketFactory", sf);
		
		//Authenticator:认 证 信 息
		Session session = Session.getInstance(props, new Authenticator(){
			@Override
			protected PasswordAuthentication getPasswordAuthentication() {
				return new PasswordAuthentication(userName,password);//使 用 它 给 其 他 账 户 发 邮 件
			}
		});
		
		//2、创 建 邮 件 对 象
		Message message = new MimeMessage(session);
		//2.1 设 置 发 件 人
		message.setFrom(new InternetAddress(userName));
		//2、2 设 置 收 件 人
		message.setRecipient(RecipientType.TO, new InternetAddress(to));
		//2.3 邮 件 的 主 题
		message.setSubject("测 试 发 消 息");
		//2.4 邮 件 的 正 文(即 邮 件 的 内 容)
		message.setContent("测 试 邮 件:javaMail-Q Q 邮 箱 测 试","text/html;charset=utf-8");
		
		//3.发 送 邮 件
		Transport trans = session.getTransport();
		//连 接 邮 件 服 务 器
		trans.connect(userName, password);  
		//发 送 邮 件
		trans.sendMessage(message, message.getAllRecipients());  
		//关 闭 连 接
		trans.close();
		
		//Transport.send(message);(两 种 方 式 都 可 以)
		System.out.println("发 送 成 功");
	}
	
	public static void main(String[] args) {
		try {
			sendMain(userName2);
		} catch (Exception e) {
			e.printStackTrace();
		} 
	}
}

开 启 SSL 加 密的代码:

//开 启 SSL加 密,否则会失败
MailSSLSocketFactory sf = new MailSSLSocketFactory();
sf.setTrustAllHosts(true);
props.put("mail.smtp.ssl.enable", "true");
props.put("mail.smtp.ssl.socketFactory", sf);

 

在FoxMail中添加Q Q 邮 箱 账 户 用来查看邮件:

注意点

1、邮 箱 必 须 开   启 S M T P ,获 取 授 权 码(如 何 获 取?点 我),且 使 用 最 新 的 授 权 码 发 邮  件。

2、必 须  添 加 开 启 SSL 加 密 的 代 码,不 然 会 报 错。

3、在 Foxmail 中 添 加 Q Q 邮 箱 账 户 时 必 须 使用 授 权 码(不 能 是 Q Q 邮 箱 密 码) ,且必须勾选“SSL”,否则将添 加 账 户失败。

 

在弄Q Q 邮 箱的过程中碰到的问题太多了,下一篇专门写问题,这里就不多说了。

  • 大小: 22.2 KB
分享到:
评论

相关推荐

    javaMail学习(七)——使用javaMail发复杂邮件

    在这个主题“javaMail学习(七)——使用javaMail发复杂邮件”中,我们将深入探讨如何使用 JavaMail API 发送包含多种附件、HTML 内容和其他复杂元素的邮件。在提供的文件列表中,我们看到一系列名为 MailUtils 的类,...

    使用JAVAMail代发邮件

    使用 JavaMail 代发邮件 使用 JavaMail 库可以轻松地在 Java 应用程序中发送电子邮件。JavaMail 是一个 Java API,用于在 Java 应用程序中发送和接收电子邮件。它提供了一个抽象层,允许开发者使用不同的电子邮件...

    javamail例子——简单好用

    javamail例子——简单好用 可以直接发电子邮件 1.当工程是java EE 5的时候 在工程里面应该删除java EE 5里面相对应的 jar 路径在 第一个问题就是删除Java EE 5 Libraries/javaee.jar/mail。 第二个问题就是删除Java...

    使用javaMail发邮件及收取邮箱未读邮件并标记为已读

    JavaMail 是一个强大的 Java 库...通过学习和使用 JavaMail,开发者可以轻松地在自己的应用中实现邮件通信,提升用户体验。记得在实际应用中,确保遵循相关的安全最佳实践,如使用加密的连接和处理潜在的邮件安全问题。

    JavaMail(3)——发送带附件的邮件.docx

    在JavaMail中,发送带有附件的邮件涉及到对MIME(Multipurpose Internet Mail Extensions)标准的理解和使用。MIME扩展了邮件协议,允许在邮件中包含多媒体内容,如图片、文档、音频或视频文件等。 在JavaMail中,`...

    javaMail 发邮件

    JavaMail 是一个强大的开源库,专门用于在Java应用程序中发送和接收电子邮件。它提供了丰富的API,使得开发者可以方便地处理SMTP、POP3和IMAP等邮件协议。在JavaMail中,我们可以实现各种复杂的邮件功能,如添加附件...

    基于Javamail的邮件收发系统.zip

    基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件...

    JavaMail 具备垃圾邮件过滤功能的邮箱

    在训练阶段,系统会学习正常邮件和垃圾邮件的特征,如特定关键词、短语、标点符号的使用模式;在预测阶段,新邮件将根据这些特征的出现情况被分类为垃圾邮件或非垃圾邮件。 文件列表中,“bayesianspam”可能是用来...

    javamail邮件管理系统

    JavaMail邮件管理系统是一款基于Java技术实现的邮件服务应用程序,它利用SMTP(Simple Mail Transfer Protocol)协议来发送邮件,以及IMAP(Internet Message Access Protocol)协议来接收和管理邮件。这两个协议是...

    javamail 回执邮件资料

    JavaMail 是一个开源的 Java 库,用于处理电子邮件的发送和接收。它提供了与 SMTP、POP3 和 IMAP 协议交互的接口,是...以上内容只是基础,真正使用 JavaMail 开发邮件应用时,还需要结合具体需求进行深入学习和实践。

    javamail邮件群发、单发_邮件发送

    JavaMail 是一个强大的开源库,用于在 Java 应用程序中处理电子邮件的发送和接收。它提供了丰富的 API,使得开发者可以方便地...通过这个简单的示例,你应该已经掌握了使用 JavaMail 进行邮件群发和单发的核心概念。

    JavaMail发送邮件的例子

    JavaMail是一种在Java环境中发送和接收电子邮件的标准API,它提供了丰富的功能来处理复杂的邮件操作。在Struts2框架中集成JavaMail服务,可以方便地在Web应用中实现邮件的发送功能。下面我们将深入探讨JavaMail的...

    JavaMail(2)——给多人发送、抄送.docx

    使用JavaMail发送电子邮件给多人非常简单,只需使用MimeMessage的setRecipients方法设置多个收件人,并使用Transport对象发送邮件即可。 知识点: * 使用JavaMail发送电子邮件 * 使用MimeMessage的setRecipients...

    javamail(带界面的javamail)

    JavaMail 是一个强大的开源库,用于在Java应用程序中实现电子邮件的发送和接收功能。...通过研究这个项目,你可以学习到如何使用JavaMail API进行邮件通信,以及如何构建一个功能完善的邮件客户端。

    使用javaMail发送邮件

    在本篇文章中,我们将深入探讨如何使用JavaMail API来实现邮件的发送功能。 首先,我们需要引入JavaMail所需的依赖库。在提供的文件列表中,我们看到有以下jar文件: 1. mail.jar:这是JavaMail的核心库,包含了...

    JavaMail邮件收发实例_JavaMail_API

    JavaMail邮件收发实例_JavaMail_API JavaMail邮件收发实例_JavaMail_API JavaMail邮件收发实例_JavaMail_API JavaMail邮件收发实例_JavaMail_API JavaMail邮件收发实例_JavaMail_API

    JavaMail邮件发送源码 非常简单

    JavaMail是一种在Java应用程序中发送和接收电子邮件的标准API,它为开发者提供了强大的功能,使得处理邮件变得简单而高效。在JavaMail中,我们主要利用 javax.mail 和 javax.mail.internet 这两个包中的类来实现邮件...

    javamail 收发电子邮件

    它支持多种邮件协议,如SMTP(简单邮件传输协议)用于发送邮件,IMAP(因特网消息访问协议)和POP3(邮局协议)用于接收邮件。在JavaMail中,我们不仅可以发送纯文本邮件,还可以发送HTML格式的邮件、带有附件的邮件...

    使用JavaMail实现发送邮件

    下面是一个简单的JavaMail发送邮件的示例代码: ```java Properties props = new Properties(); props.put("mail.smtp.auth", "true"); props.put("mail.smtp.starttls.enable", "true"); props.put("mail.smtp....

Global site tag (gtag.js) - Google Analytics