`
huzhenyu
  • 浏览: 192624 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

java发送邮件代码笔记

    博客分类:
  • JAVA
阅读更多
import java.io.File;
import java.util.Properties;

import javax.mail.Address;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

import org.apache.commons.mail.EmailAttachment;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.MultiPartEmail;

public class SendMailByJavaMail {

	public static void main(String[] args) throws Exception {
		setMail3();
	}
	
	public static void setMail1() throws Exception {
		Properties props = new Properties();
		props.setProperty("mail.smtp.auth", "true");
		props.setProperty("mail.transport.protocol", "smtp");
//		props.setProperty("mail.host", "smtp.163.com");
		Session session = Session.getInstance( props);
		session.setDebug(true);
//		session.setPasswordAuthentication(url, pw)
		Message message = new MimeMessage(session);
		message.setSubject("hello");
		message.setFrom(new InternetAddress("test@163.com"));
		message.setText("aaaaa");
//		message.setRecipient(Message.RecipientType.TO, new InternetAddress("hzy5202008@163.com"));
		Transport transport = session.getTransport();
		transport.connect("smtp.163.com", 25, "test", "test");
		transport.sendMessage(message, new Address[] {new InternetAddress("hzy5202008@163.com")});
		transport.close();
	}

	public static void setMail2() throws Exception {
		Properties props = System.getProperties();
		props.setProperty("mail.smtp.auth", "true");
		props.setProperty("mail.host", "192.168.1.135");
		Session session = Session.getInstance(props, new Authenticator(){
			@Override
			protected PasswordAuthentication getPasswordAuthentication() {
				return new PasswordAuthentication("hzy", "hzy");
			}
		});
		session.setDebug(true);
		Message message = new MimeMessage(session);
		message.setSubject("hello");
//		message.setRecipient(Message.RecipientType.TO, new InternetAddress("lq@192.168.1.135"));
		message.setRecipients(Message.RecipientType.TO,InternetAddress.parse("lq@192.168.1.135,hzy@192.168.1.135"));
		message.setFrom(new InternetAddress("hzy@192.168.1.135"));
//		message.setText("aaaaa");
		message.setContent("<span style='color:red'>hello 中国</span>","text/html;charset=gbk");
		Transport.send(message);
	}
	
	public static void setMail3() throws Exception {
//		SimpleEmail email = new SimpleEmail();//如果发送普通的邮件,使用这个类就可以了
		MultiPartEmail email = new MultiPartEmail();//如果要发送带附件的邮件,需使用这个类
//		HtmlEmail email = new HtmlEmail();//可以发送html类型的邮件
		
		email.setHostName("192.168.1.135");//指定要使用的邮件服务器
		email.setAuthentication("hzy", "hzy");//使用163的邮件服务器需提供在163已注册的用户名、密码
		email.setCharset("UTF-8");
		try {
			email.setFrom("hzy@192.168.1.135");//设置发件人
			email.addTo("lq@192.168.1.135");//设置收件人
			email.setSubject("测试邮件");//设置主题
			email.setMsg("测试邮件测试邮件测试邮件");//设置邮件内容
			
			
			File file = new File("C:\\testEmail.txt");//要发送的附件
			
			EmailAttachment attachment = new EmailAttachment();
			attachment.setPath(file.getPath());
			attachment.setName(file.getName());
			attachment.setDescription("附件描述");
			attachment.setDisposition(EmailAttachment.ATTACHMENT);//附件的类型
			email.attach(attachment);
			
			email.send();
			System.out.println("发送成功");
		} catch (EmailException e) {
			e.printStackTrace();
		}

	}
}
分享到:
评论

相关推荐

    java实现邮件发送(三种发送方式都有)

    Java发送邮件是软件开发中常见的需求,特别是在自动化通知、用户验证和客户服务等方面。在这个主题下,我们将探讨三种Java实现邮件发送的方式,以及如何通过提供的代码和参考资料进行实践。 首先,让我们了解一下...

    传智播客张孝祥Java邮件开发学习笔记

    在本学习笔记中,博主孙风涛详细记录了张孝祥讲师主讲的《Java邮件开发》课程,涵盖了电子邮件基础知识、邮件协议、JavaMail API的使用、邮件内容的组织、编码及发送过程,以及在Web应用中集成邮件功能的实践。...

    java框架核心技术笔记

    本笔记详细讲解了以上技术点,并通过实例代码和实践案例帮助读者深入理解Java框架的核心技术和应用方式。通过学习,开发者可以熟练掌握Java框架,提升开发效率,为构建高质量的Java应用打下坚实基础。

    java邮件开发源码jar包笔记

    Java邮件开发是Java编程中的一项重要技能,它允许开发者通过代码发送、接收和处理电子邮件。在Java中,我们主要依赖JavaMail API来实现这个功能。JavaMail API是一个开放源码的API,它提供了多种协议(如SMTP、POP3...

    JAVA JDK 5.0学习笔记

    JDK 5.0中包含了JavaMail API,允许开发者通过Java程序发送和接收电子邮件,提供了丰富的邮件处理功能。 良葛格的Java JDK 5.0学习笔记涵盖了这些关键知识点,深入浅出地解析了Java编程中的新特性和最佳实践,是...

    Java加密算法学习笔记的源码包

    这个名为"Java加密算法学习笔记的源码包"的压缩文件包含了关于Java中几种主要加密算法的实践代码和相关库,这对于理解和应用这些技术非常有帮助。 1. **Base64编码**: Base64是一种将二进制数据转化为可打印字符的...

    基于java的邮件系统客户端源码.zip

    邮件系统客户端源码的开源性质意味着开发者可以自由地学习、修改和扩展源代码,这为Java开发者提供了宝贵的实践机会,尤其是对于想要深入理解和掌握邮件服务处理的开发者来说,这是一个极佳的学习资源。通过分析源码...

    韩顺平JSP学习笔记+源代码

    ### 韩顺平JSP学习笔记与源代码解析 #### J2EE的十三种技术(规范) 在韩顺平老师的教学笔记中,首先提到了J2EE平台下的十三种核心技术,这些技术对于理解JSP及其相关的Web开发环境至关重要。 1. **Java数据库...

    2010年的JAVA代码

    在描述中提到“主要是给自己用的”,这可能意味着这些代码是个人项目或者笔记,记录了作者当时的编程思路和解决问题的方法,对于理解当时Java编程的常见模式和技巧有一定的参考价值。 从标签“java”我们可以推断,...

    用户注册java代码

    Java可以使用JavaMailSender接口发送邮件。 7. **异常处理**:在处理注册过程中可能出现的异常,如数据冲突、网络问题等,需要进行合适的错误处理并返回给前端。 以下是一个简单的Java注册接口示例,使用了Spring ...

    java用户注册代码

    7. **邮箱验证**:发送验证邮件到用户邮箱,用户需点击链接完成验证,这样可以验证用户邮箱的有效性,并降低虚假账户的创建。 8. **密码策略**:设置合理的密码策略,如最小长度、必须包含数字、大小写字母等,以...

    JAVA笔记

    SMTP 用于发送邮件,POP3和IMAP是邮件接收协议,它们确保了电子邮件的可靠传输和存储。 10. **MIME(Multipurpose Internet Mail Extensions)**: MIME 是一种标准,用于扩展电子邮件格式,支持多种类型的数据,...

    java web笔记之servlet生成验证码

    Servlet是Java Web应用服务器中的一个Java类,它扩展了服务器的功能,处理来自客户端(通常是Web浏览器)的HTTP请求,并向客户端发送响应。Servlet生命周期包括加载、实例化、初始化、服务、销毁等阶段。 三、生成...

    java学习笔记java学习笔记java学习笔记

    JavaMail是一个用于处理电子邮件的开源API,它允许Java开发者通过SMTP、POP3或IMAP协议发送和接收邮件。在`JAVA MAIL 实例 - steven_05514的专栏 - CSDN博客.htm`中,可能讲解了如何创建和配置JavaMail会话,设置...

    JSP七个小项目代码和笔记汇总

    本资源包集合了七个不同的JSP项目代码和相关的学习笔记,是深入理解JSP技术及其应用的良好资料。 1. **用户登录与注册系统** 这个项目通常涉及到HTML表单提交、Servlet处理请求、JSP显示结果。通过这个项目,你...

    项目笔记

    笔记可能涵盖了解读和操作Java源代码,如何使用特定的开发工具,以及如何实现和优化批量邮件发送的功能。对于想要学习Java Web开发,特别是邮件服务和批量处理的开发者来说,这些内容将是非常有价值的参考资料。

    Java高级应用和Struts的入门笔记

    - **发送Email**:`Java发送Email【传智播客崔希凡讲师笔记】.doc`将介绍如何使用JavaMail API发送电子邮件,包括设置SMTP服务器、添加附件等。 3. **数据库操作** - **三表的多对多增删改查思路**:`DAY15【三表...

    Java开发笔记

    ### Java开发笔记知识点详解 #### 一、基础知识 **标题:** Java学习笔记 **描述:** 关于Java开发的一些笔记,旨在帮助大家共同学习进步。 **关键词:** Java开发、笔记、学习 #### 二、日期处理 1. **日期格式...

Global site tag (gtag.js) - Google Analytics