zoukankan      html  css  js  c++  java
  • java mail

    一、电子邮件协议

        电子邮件的在网络中传输和网页一样需要遵从特定的协议,常用的电子邮件协议包括 SMTP,POP3,IMAP。其中邮件的创建和发送只需要用到 SMTP协议,所有本文也只会涉及到SMTP协议。SMTP 是 Simple Mail Transfer Protocol 的简称,

      即简单邮件传输协议。

    二、java Mail

        我们平时通过 Java 代码打开一个 http 网页链接时,通常可以使用已经对 http 协议封装好的 HttpURLConnection 类来快速地实现。Java 官方也提供了对电子邮件协议封装的 Java 类库,就是JavaMail,但并没有包含到标准的 JDK 中,

      需要我们自己去 Java 或 Oracle 官网下载。

    三、实现发送简单邮件

      ①添加依赖

    <dependencies>
            <!-- https://mvnrepository.com/artifact/javax.mail/mail -->
            <dependency>
                <groupId>javax.mail</groupId>
                <artifactId>mail</artifactId>
                <version>1.4</version>
            </dependency>
    
    </dependencies>

      ②代码实现

        public static void sendMail() throws Exception{
            Properties props = new Properties();
            props.setProperty("mail.host", "smtp.126.com");
            props.setProperty("mail.smtp.auth", "true");
            Authenticator authenticator = new Authenticator() {
                @Override
                protected PasswordAuthentication getPasswordAuthentication() {
                    // TODO Auto-generated method stub
                    return new PasswordAuthentication("发送者邮箱用户名", "邮箱密码");
                }
            };
            
            Session session = Session.getDefaultInstance(props,authenticator);
            MimeMessage message = new MimeMessage(session);
            message.setFrom(new InternetAddress("发送者邮箱地址"));
            /**
             * RecipientType.TO 接收者
             * RecipientType.CC 抄送
             * RecipientType.BCC 暗送(密送)
             */
            message.setRecipient(RecipientType.BCC, new InternetAddress("接收者邮箱地址"));
            message.setSubject("java 测试邮件");
            message.setContent("测试邮件","text/html;charset=UTF-8" );
            Transport.send(message);
                    
        }
  • 相关阅读:
    洛谷P2740 草地排水
    BZOJ 4326 运输计划
    BZOJ 1036 树的统计
    BZOJ 1003 物流运输
    BZOJ 1251 序列终结者
    HDU4864 Task(算竞进阶习题)
    洛谷P4281 紧急集合 / 聚会
    CH0802 占卜DIY
    node.js(二)各种模块
    node.js对象数据类型
  • 原文地址:https://www.cnblogs.com/zhaobingqing/p/7240663.html
Copyright © 2011-2022 走看看