`

javaMail学习(四)——使用javaMail给网易账户发简单邮件

阅读更多

代码跟上一篇的差不多,只需改变smpt的服务器地址和端口号。

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;

/**
 * 邮 件 发 送 的 工 具 类
 * 1 6 3 邮 箱 互 相 发 送 消 息
 */
public class MailUtils3 {
	private static String userName = "xxxx";//发 送 邮 件的1 6 3邮 箱 账 号
	private static String password = "xxxx";//1 6 3 邮 箱 的 授 权 码,若 没 有 则 使 用 密 码
	private static String userName2 = "xxxx";//接 收 邮 件 的 1 6 3 邮 箱 账 号
	private static String port = "25";//端 口 号
	/**
	 * 该 方 法 用 来 发 送 邮 件
	 * @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.163.com");//设置成163的发件服务器
        
        //设端口号(该配置可写可不写)
        props.setProperty("mail.smtp.port", port);
        
        //密 码、授 权 码
        props.setProperty("mail.smtp.password",password);
		
		//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-网 易 邮 箱测试","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();
		} 
	}
}

 

在Foxmail中添加网易邮箱账户进行邮件查看。

 

注意点:发送邮件的163 邮 箱的smtp必须处于开启状态。

查看是否开启:

通过网页登陆网易邮箱---->设置---->POP9/SMTP/IMAP---->设置POP9/SMTP/IMAP。

默认情况下,SMTP和POP3的服务处于开 启状态。若处于关 闭状态,执行代码将报错:javax.mail.AuthenticationFailedException: 550 User has no permission

 

值得一提的是网 易 邮 箱的密 码和授 权 码。

如上文所说,默认情况下网 易 邮 箱的smtp服务是开 启的,此时上面代码中的password使用邮 箱 账 户的密  码即可

手动将smtp服务其关 闭,再手动开 启,此时网易会要求设置授权码,设置授权码比较简单,根据提示进行设置即可(硬性要求:授权码只能是数字和字母,且不能与密 码一致)。设置之后,上面代码中的password必须使用授权码,否则将报错:javax.mail.AuthenticationFailedException: 535 Error: authentication failed

 

PPS:敏 感 词 应该是开 启、关 闭、邮 箱、密 码、授 权 码

  • 大小: 24.1 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(3)——发送带附件的邮件.docx

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

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

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

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

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

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

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

    javaMail 发邮件

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

    javamail 回执邮件资料

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

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

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

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

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

    JavaMail发送邮件的例子

    总的来说,JavaMail与Struts2结合可以方便地在Web应用中实现邮件功能,提供给用户便捷的邮件服务。理解JavaMail API的使用方法和在Struts2中的集成策略,有助于你构建更高效、更灵活的应用系统。

    JavaMail邮件收发实例_JavaMail_API

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

    使用javaMail发送邮件

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

    JavaMail邮件发送源码 非常简单

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

    javamail(带界面的javamail)

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

    使用JavaMail实现发送邮件

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

    JavaMail javamail java电子邮件客户端

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

    javamail 收发电子邮件

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

Global site tag (gtag.js) - Google Analytics