zoukankan      html  css  js  c++  java
  • Android中应用JavaMail进行邮件发送(工具类)

    最近项目中需要一个功能是将用户的反馈信息直接发送给我们,又不想调用Android的默认邮件发送,于是就是用了JavaMail-Android,废话少说,首先要将android-javamail的三个包倒进项目:如图

    下面是工具类的代码:

    package com.windy.android_javamail;
    
    /**
     * @作者:王树新
     * @日期:2013-08-30
     * @描述:Android中应用JavaMail进行邮件发送
     */
    import java.util.Properties;
    
    import javax.activation.DataHandler;
    import javax.mail.Message;
    import javax.mail.MessagingException;
    import javax.mail.Multipart;
    import javax.mail.Session;
    import javax.mail.Transport;
    import javax.mail.internet.InternetAddress;
    import javax.mail.internet.MimeMessage;
    import javax.mail.internet.MimeMultipart;
    import javax.mail.util.ByteArrayDataSource;
    
    import android.util.Log;
    
    public class EmailUtils {
        /**
         * 邮件发送程序
         * 
         * @param to
         *            接受人
         * @param subject
         *            邮件主题
         * @param content
         *            邮件内容
         * @throws Exception
         * @throws MessagingException
         */
        public static void sendEmail(String to, String subject, String content) throws Exception, MessagingException {
            String host = "smtp.qq.com";
            String address = "545099227@qq.com";
            String from = "545099227@qq.com";
            String password = "密码";// 密码
            if ("".equals(to) || to == null) {
                to = "545099227@qq.com";
            }
            String port = "25";
            SendEmail(host, address, from, password, to, port, subject, content);
        }
    
        /**
         * 邮件发送程序
         * 
         * @param host
         *            邮件服务器 如:smtp.qq.com
         * @param address
         *            发送邮件的地址 如:545099227@qq.com
         * @param from
         *            来自: wsx2miao@qq.com
         * @param password
         *            您的邮箱密码
         * @param to
         *            接收人
         * @param port
         *            端口(QQ:25)
         * @param subject
         *            邮件主题
         * @param content
         *            邮件内容
         * @throws Exception
         */
        public static void SendEmail(String host, String address, String from, String password, String to, String port, String subject, String content) throws Exception {
            Multipart multiPart;
            String finalString = "";
    
            Properties props = System.getProperties();
            props.put("mail.smtp.starttls.enable", "true");
            props.put("mail.smtp.host", host);
            props.put("mail.smtp.user", address);
            props.put("mail.smtp.password", password);
            props.put("mail.smtp.port", port);
            props.put("mail.smtp.auth", "true");
            Log.i("Check", "done pops");
            Session session = Session.getDefaultInstance(props, null);
            DataHandler handler = new DataHandler(new ByteArrayDataSource(finalString.getBytes(), "text/plain"));
            MimeMessage message = new MimeMessage(session);
            message.setFrom(new InternetAddress(from));
            message.setDataHandler(handler);
            Log.i("Check", "done sessions");
    
            multiPart = new MimeMultipart();
            InternetAddress toAddress;
            toAddress = new InternetAddress(to);
            message.addRecipient(Message.RecipientType.TO, toAddress);
            Log.i("Check", "added recipient");
            message.setSubject(subject);
            message.setContent(multiPart);
            message.setText(content);
    
            Log.i("check", "transport");
            Transport transport = session.getTransport("smtp");
            Log.i("check", "connecting");
            transport.connect(host, address, password);
            Log.i("check", "wana send");
            transport.sendMessage(message, message.getAllRecipients());
            transport.close();
            Log.i("check", "sent");
        }
    }
  • 相关阅读:
    zabbix api
    cassandra学习笔记
    loki grafana
    logstash配置 filebeat配置
    k8s prometheus api
    51cto 先超Prometheus+Grafana监控告警系统实战
    51cto 张岩峰 Prometheus企业级监控系统:零基础入门
    imooc 使用Prometheus实践基于Spring Boot监控告警体系 笔记
    python3 django migrate
    python3虚拟环境
  • 原文地址:https://www.cnblogs.com/wangsx/p/3291036.html
Copyright © 2011-2022 走看看