欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

[Java] Java 发送邮件,

来源: javaer 分享于  点击 24057 次 点评:9

[Java] Java 发送邮件,


Java 发送邮件
使用Java应用程序发送 E-mail 十分简单,但是首先你应该在你的机器上安装 JavaMail API 和Java Activation Framework (JAF) 。

  • 您可以从 Java 网站下载最新版本的 JavaMail,打开网页右侧有个 Downloads 链接,点击它下载。
  • 您可以从 Java 网站下载最新版本的 JAF(版本 1.1.1)。


你也可以使用本站提供的下载链接 论坛不让上传jar文件  所以大家去java的官网下载吧

下载并解压缩这些文件,在新创建的顶层目录中,您会发现这两个应用程序的一些 jar 文件。您需要把 mail.jar 和 activation.jar 文件添加到您的 CLASSPATH 中。

本次使用第三方邮件服务器如QQ的SMTP服务器。
 

[Java] 纯文本查看 复制代码

?

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

import java.security.GeneralSecurityException;

import java.util.Properties;

import javax.mail.Authenticator;

import javax.mail.Message;

import javax.mail.MessagingException;

import javax.mail.PasswordAuthentication;

import javax.mail.Session;

import javax.mail.Transport;

import javax.mail.internet.InternetAddress;

import javax.mail.internet.MimeMessage;

import com.sun.mail.util.MailSSLSocketFactory;

 

public class SendEmail

{

    public static void main(String [] args) throws GeneralSecurityException

    {

        // 收件人电子邮箱

        String to = "XXXXX@qq.com";

 

        // 发件人电子邮箱

        String from = "XXXXXX@qq.com";

 

        // 指定发送邮件的主机为 smtp.qq.com

        String host = "smtp.qq.com"//QQ 邮件服务器

 

        // 获取系统属性

        Properties properties = System.getProperties();

 

        // 设置邮件服务器

        properties.setProperty("mail.smtp.host", host);

 

        properties.put("mail.smtp.auth", "true");

        MailSSLSocketFactory sf = new MailSSLSocketFactory();

        sf.setTrustAllHosts(true);

        properties.put("mail.smtp.ssl.enable", "true");

        properties.put("mail.smtp.ssl.socketFactory", sf);

        // 获取默认session对象

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

            public PasswordAuthentication getPasswordAuthentication()

            {

                return new PasswordAuthentication("404608626@qq.com", "授权的 QQ 邮箱密码"); //发件人邮件用户名、密码

            }

        });

 

        try{

            // 创建默认的 MimeMessage 对象

            MimeMessage message = new MimeMessage(session);

 

            // Set From: 头部头字段

            message.setFrom(new InternetAddress(from));

 

            // Set To: 头部头字段

            message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));

 

            // Set Subject: 头部头字段

            message.setSubject("This is the Subject Line!");

 

            // 设置消息体

            message.setText("This is actual message");

 

            // 发送消息

            Transport.send(message);

            System.out.println("Sent message successfully....from 52pojie.cn");

        }catch (MessagingException mex) {

            mex.printStackTrace();

        }

    }

}



注意:

[Java] 纯文本查看 复制代码

?

1

2

3

4

5

// 关于QQ邮箱,还要设置SSL加密,加上以下代码即可 上述代码以加上 如不是qq邮箱 可省略一下代码

MailSSLSocketFactory sf = new MailSSLSocketFactory();

sf.setTrustAllHosts(true);

props.put("mail.smtp.ssl.enable", "true");

props.put("mail.smtp.ssl.socketFactory", sf);

相关文章

    暂无相关文章
相关栏目:

用户点评