`

Email发送 先做代码层面记录

 
阅读更多

 需要使用commons-email-1.2.jar 和email必备的jar包

/**
	 * 获取中文设置的发件人
	 * @param sender
	 * @return
	 * @throws UnsupportedEncodingException 
	 */
	private static String getSenderZh(String sender)
			throws UnsupportedEncodingException {
		if (sender != null && !sender.trim().equals("")) {
			return new String(sender.getBytes("iso-8859-1"), "utf-8");
		} else {
			return "XX网";
		}
	}

 批量发送邮件:

 

 

/***
	 * 功能:批量发送邮件
	 * @param toEmail	:接收邮箱
	 * @param subject	:主题
	 * @param body		:邮件内容
	 */
	public static void send(Collection<String> emailCo, String subject,
			String body) throws EmailException, Exception {
		HtmlEmail email = new HtmlEmail();
		email.setHostName(proInfo.getProperty("send_host"));// 设置发信的smtp服务器
		for (String toEmail : emailCo) {
			toEmail = toEmail.trim();
			email.addTo(toEmail, getUserByEmail(toEmail));// 设置收件人帐号和收件人
		}
		email.setFrom(proInfo.getProperty("send_user_email"),
				getSenderZh(proInfo.getProperty("send_user_zh")));// 设置发信的邮件帐号和发信人
		email.setSubject(subject);// 设置邮件主题
		email.setAuthentication(proInfo.getProperty("send_user"), proInfo
				.getProperty("send_password"));// 如果smtp服务器需要认证的话,在这里设置帐号、密码
		if(proInfo.getProperty("send_port")!=null){//设置smtp端口
			email.setSSL(true);
			email.setSmtpPort(Integer.parseInt(proInfo.getProperty("send_port")));
		}
		email.setCharset("utf-8");
		email.setHtmlMsg(body);// 设置邮件正文和字符编码
		email.send();
	}

 资源文件:

 

   send_host=smtp邮箱服务器
   send_user_email=发件人邮箱地址
   send_user=权限
   send_password=密码
   send_user_zh=中文发件人

 

// 资源文件名称
	private static final String smsPropFile = "email.properties";

	static {
		try {
			InputStream in = MailSend.class.getClassLoader()
					.getResourceAsStream(smsPropFile);
			proInfo.load(in);
			in.close();
		} catch (Exception e) {
			System.err.print("邮件发送配置文件加载失败...");
		}
	}

 

 

分享到:
评论

相关推荐

    电子邮件定时发送

    综上所述,实现电子邮件定时发送涉及了多个技术层面,包括电子邮件协议、编程语言、任务调度、数据库操作、错误处理以及邮件营销策略。通过合理的设计和实现,可以构建一个高效、安全的电子邮件定时发送系统,满足...

    Robotium 关于Email的单元测试源码

    1. `.classpath`:这是一个XML文件,记录了项目的类路径,包括JRE系统库、依赖的库和项目中的源代码目录等信息。在单元测试中,它会包含JUnit库,使得测试代码可以访问到需要测试的类。 2. `.project`:这是Eclipse...

    管理系统系列--消息系统(短信,推送,邮件)等统一发送管理.zip

    本管理系统系列将深入探讨如何实现一个统一的消息发送管理平台,旨在提高效率、减少代码重复,并优化用户体验。 首先,我们需要理解消息系统的各个组件。短信服务(Short Message Service, SMS)是一种通过手机网络...

    Email服务程序设计.zip

    在IT领域,电子邮件服务程序设计是一项基础且重要的工作,它涉及到网络通信、协议解析和数据交换等多个技术层面。本项目是用C#语言编写的,C#是一种面向对象的编程语言,尤其适合开发Windows平台的应用程序,包括...

    Relationship: Email

    7. **日志分析**:邮件服务器通常会记录发送和接收的邮件信息,这些日志可用于故障排查、性能监控和审计。掌握日志分析技巧有助于找出潜在问题并优化系统。 8. **邮件归档与合规**:在企业环境中,邮件归档和符合...

    email-api

    在技术层面上,email-api采用了TypeScript作为编程语言,这是一种由Google开发的强类型超集,增加了静态类型检查,提高了代码质量和可维护性。TypeScript的引入确保了代码的健壮性和可读性,这对于大型项目来说至关...

    Anonymous Email Script-开源

    这个脚本的特色在于它不仅允许用户保持发送者的身份隐匿,同时还记录了发送的邮件信息到数据库中,这可能对监控或分析邮件活动有所帮助。 在技术层面上,这个脚本的核心组成部分包括以下几个文件: 1. `index....

    Email Capture-crx插件

    在技术层面,Email Capture-crx插件的实现可能涉及以下知识点: 1. **浏览器扩展开发**:使用Chrome Extension API,包括manifest.json配置文件、内容脚本、背景脚本等,实现插件与网页的交互。 2. **事件监听**:...

    SMTP客户端

    SMTP(Simple Mail Transfer Protocol)是互联网上用于发送电子邮件的标准协议。它定义了如何在邮件服务器之间传输邮件,以及用户代理(如电子邮件客户端)如何通过服务器发送邮件。在本主题中,我们将深入探讨SMTP...

    C# Winform 的 ReportViewer报表控件15个源代码事例,可修改可编译,带数据

    4. **邮件发送报表(Email a report)**:ReportViewer不仅支持展示报表,还可以集成到邮件系统中,允许用户将报表以附件的形式发送出去。这通常需要使用SMTP服务器,并结合.NET的MailMessage类实现。 5. **钻取...

    linux-OpenBSDEmailService

    OpenBSD作为一个安全、稳定且注重代码质量的Unix-like操作系统,也常被用于构建高效且可靠的电子邮件服务。"Linux-OpenBSDEmailService"这个主题,意味着我们将讨论如何在Linux环境下利用OpenBSD的工具和技术来搭建...

    使用Logic App从Azure SQL发送电子邮件

    4. **处理查询结果**: 你可以使用内置的逻辑操作(如“For each”循环)遍历查询结果,并为每条记录执行下一步操作。 5. **连接到SendGrid**: 添加“SendGrid - 发送电子邮件”动作,配置SendGrid的API密钥,这将...

    java写的注册登录

    5. **数据库设计**:为了存储用户信息,需要创建一个用户表,可能包含字段如`id`(主键,唯一标识符)、`username`、`password`(通常存储的是加密后的密码)、`email`等。SQL语句可能包括CREATE TABLE用于创建表,...

    注册邮箱验证

    例如,可以使用JavaMail API来发送邮件,它提供了丰富的功能来构建和发送邮件。邮件内容可能包含HTML格式的激活链接,以便用户可以直接点击。 数据库在此过程中也扮演着关键角色。每个新注册的用户账户在数据库中会...

    Jfinal框架

    4. **插件化设计**:JFinal 采用插件化设计,提供了诸如Shiro安全控制、Quartz任务调度、Email发送、Excel导出等多种功能插件,方便开发者按需选择和使用。 5. **内置Jetty服务器**:JFinal 内置了Jetty服务器,...

    tongxuelu.zip_sql用户注册_tongxuelu

    1. 源码分析:通过解压“tongxuelu.zip”,我们可以查看到后端处理用户注册请求的代码,了解如何接收用户数据、验证信息、执行SQL插入操作以及发送验证邮件的过程。 2. 数据库设计:数据库中通常有一个名为“users”...

    php+mysql留言板

    3. `email`(字符串):留言者的邮箱地址,用于验证或联系。 4. `content`(文本):留言内容,可以容纳较长的文字信息。 5. `timestamp`(日期时间):留言的时间戳,记录用户提交留言的具体时间。 二、PHP后端...

    企业信息与数据安全解决方案.pdf

    通过部署如Symantec DLP Cloud Service for Email、DLP Detector、DLP Management Server等组件,企业能够对云环境中的信息进行监控、通知以及执行加密和权限管理等动作,从而确保对云存储信息的全面保护。...

    customerProductMade

    7. **异步处理**:由于涉及到与服务器的交互,"customerProductMade.js"可能使用Promise或async/await处理异步操作,如向服务器发送请求获取订单状态或更新客户信息。 8. **错误处理和调试**:为了确保代码的健壮性...

    Django2.1官方文档

    15. 发送电子邮件(Sending email) 这部分说明了如何在Django应用程序中发送电子邮件。 16. 日志记录(Logging) 介绍了如何在Django应用中设置和使用日志系统。 17. 分页(Pagination) 文档中包含了如何对数据...

Global site tag (gtag.js) - Google Analytics