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邮件开发》课程,涵盖了电子邮件基础知识、邮件协议、JavaMail API的使用、邮件内容的组织、编码及发送过程,以及在Web应用中集成邮件功能的实践。...
本笔记详细讲解了以上技术点,并通过实例代码和实践案例帮助读者深入理解Java框架的核心技术和应用方式。通过学习,开发者可以熟练掌握Java框架,提升开发效率,为构建高质量的Java应用打下坚实基础。
Java邮件开发是Java编程中的一项重要技能,它允许开发者通过代码发送、接收和处理电子邮件。在Java中,我们主要依赖JavaMail API来实现这个功能。JavaMail API是一个开放源码的API,它提供了多种协议(如SMTP、POP3...
JDK 5.0中包含了JavaMail API,允许开发者通过Java程序发送和接收电子邮件,提供了丰富的邮件处理功能。 良葛格的Java JDK 5.0学习笔记涵盖了这些关键知识点,深入浅出地解析了Java编程中的新特性和最佳实践,是...
这个名为"Java加密算法学习笔记的源码包"的压缩文件包含了关于Java中几种主要加密算法的实践代码和相关库,这对于理解和应用这些技术非常有帮助。 1. **Base64编码**: Base64是一种将二进制数据转化为可打印字符的...
邮件系统客户端源码的开源性质意味着开发者可以自由地学习、修改和扩展源代码,这为Java开发者提供了宝贵的实践机会,尤其是对于想要深入理解和掌握邮件服务处理的开发者来说,这是一个极佳的学习资源。通过分析源码...
### 韩顺平JSP学习笔记与源代码解析 #### J2EE的十三种技术(规范) 在韩顺平老师的教学笔记中,首先提到了J2EE平台下的十三种核心技术,这些技术对于理解JSP及其相关的Web开发环境至关重要。 1. **Java数据库...
在描述中提到“主要是给自己用的”,这可能意味着这些代码是个人项目或者笔记,记录了作者当时的编程思路和解决问题的方法,对于理解当时Java编程的常见模式和技巧有一定的参考价值。 从标签“java”我们可以推断,...
Java可以使用JavaMailSender接口发送邮件。 7. **异常处理**:在处理注册过程中可能出现的异常,如数据冲突、网络问题等,需要进行合适的错误处理并返回给前端。 以下是一个简单的Java注册接口示例,使用了Spring ...
7. **邮箱验证**:发送验证邮件到用户邮箱,用户需点击链接完成验证,这样可以验证用户邮箱的有效性,并降低虚假账户的创建。 8. **密码策略**:设置合理的密码策略,如最小长度、必须包含数字、大小写字母等,以...
SMTP 用于发送邮件,POP3和IMAP是邮件接收协议,它们确保了电子邮件的可靠传输和存储。 10. **MIME(Multipurpose Internet Mail Extensions)**: MIME 是一种标准,用于扩展电子邮件格式,支持多种类型的数据,...
Servlet是Java Web应用服务器中的一个Java类,它扩展了服务器的功能,处理来自客户端(通常是Web浏览器)的HTTP请求,并向客户端发送响应。Servlet生命周期包括加载、实例化、初始化、服务、销毁等阶段。 三、生成...
JavaMail是一个用于处理电子邮件的开源API,它允许Java开发者通过SMTP、POP3或IMAP协议发送和接收邮件。在`JAVA MAIL 实例 - steven_05514的专栏 - CSDN博客.htm`中,可能讲解了如何创建和配置JavaMail会话,设置...
本资源包集合了七个不同的JSP项目代码和相关的学习笔记,是深入理解JSP技术及其应用的良好资料。 1. **用户登录与注册系统** 这个项目通常涉及到HTML表单提交、Servlet处理请求、JSP显示结果。通过这个项目,你...
笔记可能涵盖了解读和操作Java源代码,如何使用特定的开发工具,以及如何实现和优化批量邮件发送的功能。对于想要学习Java Web开发,特别是邮件服务和批量处理的开发者来说,这些内容将是非常有价值的参考资料。
- **发送Email**:`Java发送Email【传智播客崔希凡讲师笔记】.doc`将介绍如何使用JavaMail API发送电子邮件,包括设置SMTP服务器、添加附件等。 3. **数据库操作** - **三表的多对多增删改查思路**:`DAY15【三表...
### Java开发笔记知识点详解 #### 一、基础知识 **标题:** Java学习笔记 **描述:** 关于Java开发的一些笔记,旨在帮助大家共同学习进步。 **关键词:** Java开发、笔记、学习 #### 二、日期处理 1. **日期格式...