java发送邮件
1.需要用到javax.mail怎么下载呢?百度javax.mail就会看见http://www.oracle.com/technetwork/java/index-138643.html实际上这个项目是www.java.net网站上面的项目。
下面的用javax.mail从163邮箱向qq邮箱发送邮件。
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Date;
import java.util.Properties;
public class Haha {
public static void sendMail(String fromMail, String user, String password, String toMail, String mailTitle,
String mailContent) throws Exception {
Properties props = new Properties(); // 可以加载一个配置文件
props.put("mail.smtp.host", "smtp.163.com");
Session session = Session.getInstance(props);// 根据属性新建一个邮件会话
session.setDebug(true); // 有他会打印一些调试信息。
MimeMessage message = new MimeMessage(session);// 由邮件会话新建一个消息对象
message.setFrom(new InternetAddress(fromMail));// 设置发件人的地址
message.setRecipient(Message.RecipientType.TO, new InternetAddress(toMail));
message.setSubject(mailTitle);// 设置标题
//message.setText(mailContent); // 发送 纯文本 邮件
message.setContent(mailContent, "text/html;charset=gbk"); // 发送HTML邮件,内容样式比较丰富
message.setSentDate(new Date());// 设置发信时间
message.saveChanges();// 存储邮件信息
Transport transport = session.getTransport("smtp");
transport.connect(user, password);
transport.sendMessage(message, message.getAllRecipients());// 发送邮件,其中第二个参数是所有已设好的收件人地址
transport.close();
}
public static void main(String[] args) throws Exception {
sendMail("xxxxx@163.com", "xxxxxxx@163.com", "网易邮箱密码", "收件人邮箱@qq.com", "Java Mail 测试邮件",
"<a>html 元素</a>:<b>邮件内容</b>");
}
}
2.Apache对javax.mail进行了一下封装,叫org.apache.commons.mail
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.HtmlEmail;
public class Main {
public static void main(String[] args) {
new Main();
}
Main() {
try {
HtmlEmail email = new HtmlEmail();
email.setHostName("smtp.qq.com");
email.setSmtpPort(587);
email.setAuthentication("xxxxx@qq.com", "激活smtp功能后的验证码");
email.addTo("xxxxx@qq.com");
email.setFrom("xxxxx@qq.com");
email.setMsg("鹏哥,咱们是整着玩的,别老是想着一鸣惊人。");
email.send();
} catch (EmailException e) {
e.printStackTrace();
}
}
}
3.发邮件需要让服务器发邮件,如果是163邮箱,直接弄就行。如果是通过qq邮箱发邮件,就要进行一些设置。一运行,qq邮箱会告诉你去一个链接学习一下:http://service.mail.qq.com/cgi-bin/help?id=28
上面这个链接详细解释了所有内容,可以顺便学学一些协议。
需要激活qq邮箱的smtp功能(在qq邮箱中进行账户设置),并且端口也很重要,发送端口和接收端口不是一回事,详见http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=369
4.使用python发送邮件
import smtplib
from email.mime.text import MIMEText
server = smtplib.SMTP("smtp.163.com")
server.login("18304049305@163.com", "jing__010")
message = MIMEText("weidiao is great")
message["Subject"] = "haha"
message["from"] = "xxxxx.com"
message["to"] = "xxxx@qq.com"
server.sendmail("18304049305@163.com", ["1661686074@qq.com"], message.as_string())
server.quit()
java发送邮件的更多相关文章
- Java发送邮件初窥
一.背景 最近朋友的公司有用到这个功能,之前对这一块也不是很熟悉,就和他一起解决出现的异常的同时,也初窥一下使用Apache Common Email组件进行邮件发送. 二.Java发送邮件的注意事项 ...
- Java发送邮件,所遇到的常见需求
明天要做关于发送邮件的接口,虽然我之前已用Java Mail做过许多关于邮件的发送.但同事说有点难点,虽我还不知难点在哪,还是要复习下.凡事预则立,不预则废嘛~ 所需的包: Java Mail : 目 ...
- 用java发送邮件(黄海已测试通过)
/** * java发送带附件的邮件 * 周枫 * 2013.8.10 */ package com.dsideal.Util; import javax.mail.*; import javax.m ...
- Java发送邮件(带附件)
实现java发送邮件的过程大体有以下几步: 准备一个properties文件,该文件中存放SMTP服务器地址等参数. 利用properties创建一个Session对象 利用Session创建Mess ...
- 用Java发送邮件
要用Java发送邮件,除过JDK本身的jar包之外,还需要两个额外的jar包:JavaMail和JAF.当然,如果你使用的JavaEE的JDK,那就不用单独去网上下载了,因为JavaEE的JDK中已经 ...
- Java发送邮件时标题和发件人乱码
最近碰到一个问题,Java发送邮件时,查看邮箱结果,发件人及邮件标题正文全部乱码 通过翻阅资料,原因及解决方法如下: // Set Subject: 头字段 message.setSubject(Mi ...
- Java - 31 Java 发送邮件
Java 发送邮件 使用Java应用程序发送E-mail十分简单,但是首先你应该在你的机器上安装JavaMail API 和Java Activation Framework (JAF) . 你可以在 ...
- Java-Runoob-高级教程:Java 发送邮件
ylbtech-Java-Runoob-高级教程:Java 发送邮件 1.返回顶部 1. Java 发送邮件 使用Java应用程序发送 E-mail 十分简单,但是首先你应该在你的机器上安装 Java ...
- Java发送邮件--web.xml配置,Java代码配置
前言:我目前总结的使用java发送邮件的方式有两种,分别是在spring框架xml配置文件使用bean标签,另一种方法是把发送功能封装成一个对象,废话不多说上代码, 边看代码边讲解,希望对需要的人能有 ...
- Java发送邮件示例
利用Java发送邮件示例: 1.发送QQ邮件 import java.util.Properties; import javax.mail.Message; import javax.mail.Mes ...
随机推荐
- mongo数据备份及恢复脚本
#!/bin/bashtime="$(date +"%Y.%m.%d")" id=`echo "show dbs;"|/usr/local/ ...
- Recovering deleted Records
[原文] recovering-deleted-records Solution That requires an actual timestamp (or date), you're passing ...
- CentOS7 安装MySQL
从官网下载源再用yum安装: # wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm # rpm -ivh m ...
- unp TCP 客户端服务器回射程序中对SIGCHLD信号的处理
第五章中,有一个例子模拟客户端并发的终止TCP连接,服务器捕捉并处理SIGCHLD信号并调用waitpid函数防止僵死进程的出现.信号处理函数中核心的一句是: , &statloc, WNOH ...
- Angular+Flask搭建一个记录工具
平时用的最多的文本编辑器就是Notepad++,很多东西都是通过Notepad++直接记录的: 没有看完的网页链接 要整理.收藏的网页 读书笔记 要处理的事情 待看/看过的文档和电子书 等等... 随 ...
- 《100种过度医疗大公开》:转译自日文版,日文版依据的是美国的“Choosing Wisely”项目。三星推荐
本书转译自日文,日文版则是在美国的“Choosing Wisely”项目中选择了100个相对常见的过度医疗项目做解说.Choosing Wisely项目,是由美国多个专业医学组织发起的列出过度医疗项目 ...
- 【原】常见CSS3属性对ios&android&winphone的支持
2个月前,我在博文<webapp开发中兼容Android4.0以下版本的css hack>中写过“那对于做移动网页开发的同事来说,一般只要做好webkit内核浏览器的展现效果就行了” ,在 ...
- 【转】selenium学习路线
selenium学习路线 配置你的测试环境,真对你所学习语言,来配置你相应的selenium 测试环境.selenium 好比定义的语义---“问好”,假如你使用的是中文,为了表术问好,你的写法是“你 ...
- [No000052]大蒜怎么吃最美容?吃大蒜的功效及禁忌
大蒜是最常见的香辛调味料,它被称为天然抗生素,富含大蒜素等多种营养物质和抗氧化剂,具有多种美肤美容作用. 大蒜的5种美容功效 1.除皱.大蒜里的某些成分,有类似维生素E与维生素C的抗氧化.防衰老特性, ...
- [No00002A]26个英语字母的原始象形意义、含义、产生及发展历史
我们都知道汉字是象形文字,但如果说英语也是象形文字,你一定会以为纯是无稽之谈.其实,追根溯源,英语的26个字母确实来自于象形文字.这26个字母最初起源于埃及象形文字,后由腓尼基人改进发明了腓尼基字母, ...