Java基础学习

Java邮件发送

2019-07-23  本文已影响0人  JWking

    使用Java应用程序发送 E-mail 十分简单,但需要在设备上安装 JavaMail API 和Java Activation Framework (JAF) 。另外需要把 mail.jar 和 activation.jar包导入项目,可以从 Java 网站下载最新版本的 JavaMail,打开网页右侧有个 Downloads 链接,点击它下载。还有最新版本的 JAF(版本 1.1.1)

下面为Java代码实例

实例1 简单QQ邮件发送

import java.util.*;

import javax.mail.*;

import javax.mail.internet.*;

//简单QQ邮件发送(包含身份验证)

public class EmailTest1 {

public EmailTest1(){

String to ="@qq.com";                                        //收件人邮箱

        String from ="@qq.com";                           //发送人邮箱

        String host ="smtp.qq.com";                      //发送邮件的主机

        Properties pro = System.getProperties();  //获取系统属性

        pro.setProperty("mail.smtp.host",host);    //设置邮件服务器

        pro.put("mail.smtp.host", host);                //绑定属性值包括邮件服务器,发送人邮箱以及授权码

        pro.put("mail.smtp.auth","true");               //设置为需要身份验证

        pro.put("userName","发送人邮箱");

pro.put("password","授权码");

Session session  = Session.getDefaultInstance(pro,new Authenticator(){

protected PasswordAuthentication getPasswordAuthentication() {

return new PasswordAuthentication("发送人邮箱","授权码");

//发送人邮箱,授权码

            }});

try{

MimeMessage message =new MimeMessage(session);

message.setFrom(new InternetAddress(from));              //设置发送人信息

            message.addRecipient(Message.RecipientType.TO,new InternetAddress(to));//添加收件人信息

//群发邮件

//void addRecipients(Message.RecipientType type,

//                  Address[] addresses)

//throws MessagingException

message.setSubject("Java邮件发送测试1");        //设置邮件标题

message.setText("简单邮件发送");                       //添加邮件内容

Transport.send(message);                                   //发送邮件

System.out.println("发送成功");

}catch (MessagingException m){

m.printStackTrace();

}

}

}

获取授权码按照以下进行操作

邮箱设置 获取授权码

简单QQ邮件发送测试结果如下

邮件发送测试1结果 Java邮件发送测试1

注意:Message.RecipientType type中type:要被设置为 TO, CC 或者 BCC,这里 CC 代表抄送、BCC 代表秘密抄送。

实例2 简单QQ邮件发送(HTML格式)

    只需将在实例1的基础上,将其代码行中的message.setText("简单邮件发送");替换为message.setContent("<h1>This is actual message</h1>","text/html");即可。

简单QQ邮件发送(HTML格式)测试结果如下

Java邮件发送测试 2

实例3 简单QQ邮件发送(带附件)

    在实例1的基础上进行修改即可,将代码行

message.setSubject("Java邮件发送测试1");//设置邮件标题

message.setText("简单邮件发送");//添加邮件内容

Transport.send(message);//发送邮件

替换为

message.setSubject("Java邮件发送测试3");        //设置邮件标题

BodyPart body =new MimeBodyPart();  //创建消息部分

body.setText("这是消息内容:");            //文本消息

Multipart mul =new MimeMultipart();      //创建多重消息

mul.addBodyPart(body);                        //设置文本信息

body =new MimeBodyPart();                 //添加附件

String filename ="C:/Users/My/IdeaProjects/Java_Email/src/mail.txt";

FileDataSource source =new FileDataSource(filename);

body.setDataHandler(new DataHandler(source));

body.setFileName(filename);

mul.addBodyPart(body);

message.setContent(mul);                 //发送完整信息

简单QQ邮件发送(带附件)测试结果如下

Java邮件发送测试3
上一篇下一篇

猜你喜欢

热点阅读