首先,我们原本可以直接通过Intent来调用系统邮件客户端发送邮件,但是这种发送需要跳转activity很不方便,所以我打算自己通过smtp协议发送邮件。...很幸运,在google code上有一个现成的javaMail的java邮件客户端,我们只需要调用其中的接口就可以了。下面放出使用javaMail的一个demo源代码。...1.自己封装一个邮件发送类MailSender。...不允许主线程通信 class SenderRunnable implements Runnable { private String user; private String password;...地址:http://code.google.com/p/javamail-android/,使用时记得把三个jar包导入构建路径
一、背景 我们在实际开发中,常常会遇到需要使用java代码进行发送邮件的需求,我们可以通过这种方式向用户推送通知等。...22 private Session session; //邮件会话对象 23 private Properties props; //系统属性 24 private...,标题,附件等内容均添加到其中后再生成MimeMessage对象 29 30 /** 31 * Constructor 32 * @param smtp 邮件发送服务器...catch(Exception e){ 62 System.err.println("获取邮件会话对象时发生错误!"...+e); 63 return false; 64 } 65 66 System.out.println("准备创建MIME邮件对象
需求: 统一一个公共服务模块发送邮件以及短信信息供所有项目使用 定义一个MailBean用于存放Mail数据 import lombok.Data; import java.io.File; /*...org.springframework.boot.autoconfigure.mail.MailProperties; import org.springframework.mail.SimpleMailMessage; import org.springframework.mail.javamail.JavaMailSender...; import org.springframework.mail.javamail.MimeMessageHelper; import org.springframework.scheduling.annotation.Async...JavaMailSender mailSender; @Autowired MailProperties mailProperties; /** * 发送邮件...-附件邮件 * * @param mailBean */ public boolean sendMailAttachment(MailBean mailBean)
使用javamail发送邮件需要引入maven的依赖: javax.mail mail... 1.4 单一邮件发送: import javax.mail.*; import javax.mail.internet.InternetAddress...多客户邮件发送: import javax.mail.*; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage...InternetAddress.parse("test@163.com,test@sina.com")); msg.setContent("这是java编写的邮件程序
一、邮件的相关概念 邮件协议。...邮件客户端,保证James邮件服务器是启动状态,启动Microsoft Outlook....选择“邮件设置”并点击“电子邮件账户”,打开“账号设置”面板。...在“电子邮件”选项卡下新建邮件账户 五、案例[搭建James邮件服务器] 需求说明: 在本机搭建James邮件服务器,自定义服务器的名称。 创建两个测试用户。...在Microsoft Outlook中配置其中一个测试用户为Outlook邮件账户 六、使用JavaMail发送电子邮件(案例) 需求: 使用JavaMail技术,实现从A账户给B账户发送一封电子邮件
JavaMail是java技术当中用来发送邮件和接收邮件的API,JavaMail在java开发中是应用比较 广泛的,很多时候,我们都需要邮件发送和接收的功能。 ...如我们开发的一个网络书店,当用户下了订单之后,我们都会把订单信息发送到用户的邮箱当中 这是就可以使用JavaMail技术了。 ...下载JavaMail: http://java.sun.com/products/javamail/index.html 得到:javamail1_4_4.zip 解压;mail.jar...,也可以使用其他人的邮件服务器,比如你公司专有的邮件服务器。...还可以使用免费的邮件服务器,如:sina,搜狐,网易等,他们都有免费邮件服务,但是需要一些身份验证, 有一些麻烦…… 那有没有其他方法呢?
org.springframework.boot.test.context.SpringBootTest; import org.springframework.mail.SimpleMailMessage; import org.springframework.mail.javamail.JavaMailSenderImpl...; import org.springframework.mail.javamail.MimeMessageHelper; import org.springframework.test.context.junit4...SnycApplicationTests { @Autowired JavaMailSenderImpl mailSender; @Test public void contextLoads() { //简单格式传输邮件...qq.com"); mailSender.send(message); } @Test public void test2() throws Exception{ //创建一个复杂的消息邮件
因为上一篇已经实现了James的配置,那接下来就是利用javaMail实现邮件的发送和收取。...IP地址,必须是外网IP String recipient = "208017534@qq.com";//邮件收件人地址 String subject = "测试邮件主题...pop3 smtp NNTP proper.put("mail.store.protocol", "pop3"); // 收邮件协议 // 配置邮件接收地址...,或者接收外网的邮件的,这点很重要。...} } } 这样利于java发送邮件或者接收邮件的功能就实现了
阅读本文大概需要5分钟 JavaMail发送邮件,简单实用,了解一下呗~ 1.开启邮箱MAP/SMTP服务,获取第三方授权码 以QQ邮箱为例 ?...public class EmailUtil { // 发件人电子邮箱 private static String from = "XXXXXXX@qq.com"; // 指定发送邮件的服务器...System.getProperties(); private static MimeMessage message; static { // 设置邮件服务器...properties.setProperty("mail.smtp.host", host); //设置邮件服务器端口号(默认为25)...toUser,String ccUser,String headTitle,String htmlContent){ try { //使用的单例模式,发送过邮件后
一、JavaMail的核心API 1、API功能图解 ?...接收邮件时,把接收到的邮件数据封装在Message 类的实例中,从这个对象中解析收到的邮件数据。...对象的接收方法,就可以从指定的邮件服务器获得邮件数据,并把这些邮件数据封装到表示邮件的 Message 对象中。...", EmailParam.emailProtocol); prop.setProperty("mail.smtp.auth", EmailParam.emailAuth); //使用JavaMail...", EmailParam.emailProtocol); prop.setProperty("mail.smtp.auth", EmailParam.emailAuth); //使用JavaMail
这在实际项目中应用的非常广泛,比如注册需要发送邮件进行账号激活,再比如OA项目中利用邮件进行任务提醒等等。我们这里所讲的就是利用 JavaMail 完成邮件的发送和接收功能。 ...我们在使用JavaMail API 编写邮件时,无须考虑邮件的底层实现细节,只要调用JavaMail 开发包中相应的API类就可以了。 ...2、JavaMail API JavaMail API 按照功能可以划分为如下三大类: ①、创建和解析邮件的API ②、发送邮件的API ③、接收邮件的API 以上三种类型的API在...客户端程序发送邮件时,首先使用创建邮件的 JavaMail API 创建出封装了邮件数据的 Message 对象,然后把这个对象传递给邮件发送API(Transport 类) 发送。...3、使用 JavaMail 发送简单的纯文本邮件 在理解下面通过代码实现邮件的发送时,我们可以将邮件发送假想为火箭运载这卫星发送。
JavaMail是SUN提供给广大Java开发人员的一款邮件发送和接受的一款开源类库,支持常用的邮件协议,如:SMTP、POP3、IMAP,开发人员使用JavaMail编写邮件程序时,不再需要考虑底层的通讯细节如...JavaMail可以发送各种复杂MIME格式的邮件内容,注意JavaMail仅支持JDK4及以上版本。...本章目标 将Java提供的JavaMail类库与SpringBoot项目进行整合,并且简单封装下JavaMail类库。...图2 依赖我们已经导入成功了,接下来我们开始编写JavaMail的封装,我这里简单的对JavaMail做出封装,如果您需要更完美的封装,请对我的代码做出修改即可,先来编写一个MailEntity类来保存发送邮件时需要的参数字段...总结 上述内容就是本章的所有讲解,本章主要讲解了在SpringBoot项目内是如何使用JavaMail来进行发送简单邮件,简单封装了下MailSender类以及对象实体MailEntity,如果需要发送
1.什么事JavaMail JavaMail,顾名思义,提供给开发者处理电子邮件相关的编程接口。它是Sun发布的用来处理email的API。它可以方便地执行一些常用的邮件传输。...我们可以基于JavaMail开发出类似于Microsoft Outlook的应用程序。...2.JavaMail的协议 邮件开发的相关协议 SMTP:SMTP 发送协议 默认端口:25 使用SSL 端口改为465 POP:POP这个版本用的最多 接收协议 默认端口:110 3.邮件发送接受的过程分析...4.2引入JavaMail 在pom.xml中添加如下依赖 javax.mail <artifactId
代码实现 最近使用到JavaMail,写了个简单的工具类,记录一下。...,在构造邮件对象时是不一样的,有附件的邮件会稍微复杂一点。...Exception e) { e.printStackTrace(); } } } 最后是导入的jar包: javax.mail-1.6.0.jar 补充 JavaMail...mail.smtp.auth设置为"false"时,则无需验证账号密码即可发送邮件。SMTP只是个简单的邮件发送协议,如果不设置校验,可能会造成垃圾邮件泛滥的问题。...不过我发现公司项目在发送邮件时并没有设置验证,可能是图方便。 参考链接 [疑问]JavaMail的mail.smtp.sendpartial不起作用?
厂商所提供的JavaMail服务程序可以有选择地实现某些邮件协议,常见的邮件协议包括: l SMTP:简单邮件传输协议,用于发送电子邮件的传输协议; l POP3:用于接收电子邮件的标准协议...除JavaMail服务提供程序之外,JavaMail还需要JAF(JavaBeans Activation Framework)来处理不是纯文本的邮件内容,这包括MIME(多用途互联网邮件扩展)、URL...在JavaMail API 环境中,您基于 JavaMail 的程序将和您的公司或因特网服务供应商的(Internet Service Provider's,ISP's)SMTP服务器通信。...三、JavaMail的关键对象: Properties:属性对象 由于JavaMail需要和邮件服务器进行通信,这就要求程序提供许多诸如服务器地址、端口、用户名、密码等信息,JavaMail通过Properties...对于JavaMail API 来说,这些资源就是邮件服务器。
之前写了一篇关于Android中发送Email的文章,里面用到的是隐式的intent来激活系统自带的邮件发送功能。 今天花了一天来自己实现这个邮件发送功能。...authentication - default on _multipart = new MimeMultipart(); // There is something wrong with MailCap, javamail...; import android.os.Bundle; import android.os.Handler; import android.app.Activity; import android.app.ProgressDialog...; import android.util.Log; import android.view.Menu; import android.view.View; import android.widget.Button...<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com
JavaMail是SUN提供给开发人员在应用程序中实现邮件发送和接收功能而提供的一套标准开发类库,支持常用的邮件协议,如SMTP、POP3、IMAP,开发人员使用JavaMail编写邮件程序时...,无需考虑底层的通信细节(Socket),JavaMail也提供了能够创建出各种复杂MIME格式的邮件内容的API。...,这些协议包括:SMTP、NNTP、POP3、IMAP,如果让JavaMail与邮件服务器通信,就需要相应的协议支持,该部分称为服务提供者接口,也就是JavaMail自身需要的协议支持。...下面通过几个类来简单认识下JavaMail API: javax.mail.Session:上下文环境信息,如服务器的主机名、端口号、协议名称等 javax.mail.Message:邮件模型,发送邮件和接收邮件的媒介...= new MimeMessage(session); msg.setSubject("JavaMail测试"); // 设置邮件内容 msg.setText("这是一封由JavaMail
这里使用的是JavaMail技术,前台使用了fckeditor做邮件美化,由于只是示例,后台发送时只是将邮件保存在本地,但是可以查看,如果需要实际发送,请参考我的其他博客文章,我写了很多关于邮件发送的示例...---- Java 发送邮件 使用Java应用程序发送 E-mail 十分简单,但是首先你应该在你的机器上安装 JavaMail API 和Java Activation Framework (JAF...您可以从 Java 网站下载最新版本的 JavaMail http://www.oracle.com/technetwork/java/javamail/index.html,打开网页右侧有个 Downloads...编译并运行你的程序来发送一封带有附件的邮件。...需要用户名密码验证邮件发送实例: 本实例以 QQ 邮件服务器为例,你需要在登录QQ邮箱后台在"设置"=》账号中开启POP3/SMTP服务 ,如下图所示: ? QQ 邮箱通过生成授权码来设置密码: ?
前些天,在Linux服务器上使用JavaMail发送邮件时,总是报javax.mail.MessagingException: 501 Syntax: HELO hostname这个错误,在确认填写的邮件发送的...在次发送邮件,成功!...原因: JavaMail发送邮件时,会提取本地hostname之后,会已ip的形式去发送邮件,但是在linux服务器下,无法解析hostname对应的本机ip地址,导致JavaMail无法调用ip发送...Postfix 收到这种邮件将拒绝发送,而产生 501 错误。(windows服务器可以发送,是由于采用了不netbios 协议去获得该主机的 ip 地址,所以可以获取到ip) 截图操作: ?
org.slf4j.LoggerFactory; import org.springframework.mail.SimpleMailMessage; import org.springframework.mail.javamail.JavaMailSender...; import org.springframework.mail.javamail.JavaMailSenderImpl; import org.springframework.mail.javamail.MimeMessageHelper...private static JavaMailSender mailSender; // 简单邮件信息类 private static MimeMessage mimeMessage; //...HTML邮件信息类 private static MimeMessageHelper mimeMessageHelper; static { try { mailSender = new...", e); throw new RuntimeException("邮件服务器初始化错误!")
领取专属 10元无门槛券
手把手带您无忧上云