Android Java 发送邮件

以下示例使用 QQ 邮箱发送的,邮箱需开启SMTP服务,如何开启请自行百度。

/**
 *     implementation group: 'org.apache.commons', name: 'commons-email', version: '1.4'
 */
public class SendEmail
{
    public static void main(String [] args)
    {
        Mail mail = new Mail();
        mail.setHost("smtp.qq.com"); 			//设置邮件服务器,如果不用QQ邮箱的,自己找找看相关的
        mail.setPortNumber("465");   			//设置邮件服务器端口号,默认25
        mail.setSender("111@qq.com");   			//发送人
        mail.setName("通知");   					//发送人昵称
        mail.setReceiver("222@qq.com"); 			//接收人
        mail.setUsername("111@qq.com"); 			//登录账号,一般都是和邮箱名一样
        mail.setPassword("*************");  //QQ邮箱登录第三方客户端时,密码框请输入“授权码”进行验证。其他的密码具体查看邮件服务器的说明
        mail.setSubject("标题");
        mail.setMessage("<h1>内容</h1>");
        if (new MailUtil().send(mail)) {
            System.out.println("发送成功");
        } else {
            System.out.println("发送失败");
        }
    }
    public static class Mail implements Serializable {
        /**
         * 序列号
         */
        private static final long serialVersionUID = -3562218214168975242L;
        /**
         * 邮件编码s
         */
        public static final String ENCODEING = "UTF-8";
        /**
         * 服务器地址
         */
        private String host;
        /**
         * 服务器端口号
         */
        private String portNumber;
        /**
         * 发件人的邮箱
         */
        private String sender;
        /**
         * 收件人的邮箱
         */
        private String receiver;
        /**
         * 发件人昵称
         */
        private String name;
        /**
         * 账号
         */
        private String username;
        /**
         * 密码
         */
        private String password;
        /**
         * 主题
         */
        private String subject;
        /**
         * 信息(支持HTML)
         */
        private String message;

        public String getHost() {
            return host;
        }

        public void setHost(String host) {
            this.host = host;
        }

        public String getSender() {
            return sender;
        }

        public String getPortNumber() {
            return portNumber;
        }

        public void setPortNumber(String portNumber) {
            this.portNumber = portNumber;
        }

        public void setSender(String sender) {
            this.sender = sender;
        }

        public String getReceiver() {
            return receiver;
        }

        public void setReceiver(String receiver) {
            this.receiver = receiver;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public String getUsername() {
            return username;
        }

        public void setUsername(String username) {
            this.username = username;
        }

        public String getPassword() {
            return password;
        }

        public void setPassword(String password) {
            this.password = password;
        }

        public String getSubject() {
            return subject;
        }

        public void setSubject(String subject) {
            this.subject = subject;
        }

        public String getMessage() {
            return message;
        }

        public void setMessage(String message) {
            this.message = message;
        }

    }


    public static class MailUtil {

        public boolean send(Mail mail) {
            //发送email对象
            HtmlEmail email = new HtmlEmail();
            try {
                //这里是SMTP发送服务器的名字
                email.setHostName(mail.getHost());
                //端口号不为空时,用户自定义的端口号为SMTP发送服务器端口号
                if (!"".equals(mail.getPortNumber())) {
                    email.setSSLOnConnect(true);
                    email.setSslSmtpPort(mail.getPortNumber());
                }
                //字符编码集的设置
                email.setCharset(Mail.ENCODEING);
                //收件人的邮箱
                email.addTo(mail.getReceiver());
                //发送人的邮箱
                email.setFrom(mail.getSender(), mail.getName());
                // 如果需要认证信息的话,设置认证:用户名-密码。分别为发件人在邮件服务器上的注册名称和密码
                email.setAuthentication(mail.getUsername(), mail.getPassword());
                // 要发送的邮件主题
                email.setSubject(mail.getSubject());
                // 要发送的信息,由于使用了HtmlEmail,可以在邮件内容中使用HTML标签
                email.setMsg(mail.getMessage());
                // 发送
                email.send();
                return true;
            } catch (EmailException e) {
                e.printStackTrace();
                return false;
            }
        }
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值