Android发送邮件mark

原创 2016年08月30日 11:36:40
public class MailSender {

    private static final String LOG_TAG = MailSender.class.getSimpleName();
    private static final int PORT = 25;
    /**
     * 以文本格式发送邮件
     * @param sender 发件人邮箱
     * @param encryptPassword 邮箱密码
     * @param smtp 服务器地址
     * @param subject 主题、标题
     * @param content 内容
     * @param file 附件路径
     * @param maillists 收件人邮箱列表
     */
    public static boolean sendTextMail(String sender, String encryptPassword, String smtp, String subject, String content, String file,
            String[] maillists) {
        if (maillists == null || maillists.length == 0 || ("".equals(maillists[0].trim()))) {
            return false;
        } else {
            // Get system properties
            Properties props = new Properties();

            // Setup mail server
            props.put("mail.smtp.host", smtp);
            props.put("mail.smtp.port", PORT);
            // Get session
            props.put("mail.smtp.auth", "true"); // 如果需要密码验证,把这里的false改成true

            // 判断是否需要身份认证
            CustomizedAuthenticator authenticator = null;
            if (true) {
                // 如果需要身份认证,则创建一个密码验证器
                authenticator = new CustomizedAuthenticator(sender, encryptPassword);
            }
            // 根据邮件会话属性和密码验证器构造一个发送邮件的session
            Session sendMailSession = Session.getInstance(props, authenticator);
            try {
                // 根据session创建一个邮件消息
                Message mailMessage = new MimeMessage(sendMailSession);
                // 创建邮件发送者地址
                Address from = new InternetAddress(sender);
                // 设置邮件消息的发送者
                mailMessage.setFrom(from);
                // 创建邮件的接收者地址,并设置到邮件消息中
                for (int i = 0; i < maillists.length; i++) {
                    // Message.RecipientType.TO属性表示接收者的类型为TO
                    mailMessage.addRecipient(Message.RecipientType.TO, new InternetAddress(maillists[i]));
                }

                // 设置邮件消息的主题
                mailMessage.setSubject(subject);
                // 设置邮件消息发送的时间
                mailMessage.setSentDate(new Date());

                Multipart multipart = new MimeMultipart();
                BodyPart bodyPart = new MimeBodyPart();
                bodyPart.setText(content);
                multipart.addBodyPart(bodyPart);

                File attach = new File(file);
                if (attach.exists()) {
                    MimeBodyPart attachPart = new MimeBodyPart();
                    DataSource source = new FileDataSource(attach);
                    attachPart.setDataHandler(new DataHandler(source));
                    attachPart.setFileName(attach.getName());

                    multipart.addBodyPart(attachPart);
                }
                mailMessage.setContent(multipart);
                MailcapCommandMap mc = (MailcapCommandMap) CommandMap.getDefaultCommandMap();
                mc.addMailcap("text/html;; x-java-content-handler=com.sun.mail.handlers.text_html");
                mc.addMailcap("text/xml;; x-java-content-handler=com.sun.mail.handlers.text_xml");
                mc.addMailcap("text/plain;; x-java-content-handler=com.sun.mail.handlers.text_plain");
                mc.addMailcap("multipart/*;; x-java-content-handler=com.sun.mail.handlers.multipart_mixed");
                mc.addMailcap("message/rfc822;; x-java-content-handler=com.sun.mail.handlers.message_rfc822");
                CommandMap.setDefaultCommandMap(mc);
                Transport.send(mailMessage);
                return true;
            } catch (MessagingException ex) {
                ex.printStackTrace();
            }
        }
        return false;
    }
}

class CustomizedAuthenticator extends Authenticator {
    String userName = null;
    String password = null;

    public CustomizedAuthenticator() {
    }

    public CustomizedAuthenticator(String username, String password) {
        this.userName = username;
        this.password = password;
    }

    protected PasswordAuthentication getPasswordAuthentication() {
        return new PasswordAuthentication(userName, password);
    }
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

Android — 之百度地图定位+添加Mark+InfoWindow

前言:  新手上路,这几天在弄百度地图SDK的使用(吐槽 : 官网上的开发指南简直就是实力坑爹,可能是开发人员太忙,维护不及时吧),我对本次学习的要求也不高:能正常显示地图,能定位,能添加mark(覆...
  • man_help
  • man_help
  • 2016年03月10日 18:42
  • 4003

mark android studio几个setting

1、自动导包 Editor->General->Auto import都勾上,选All2、自动提示 Editor->General->Code Completion都勾上都勾上,选None ,At...
  • qq_26819733
  • qq_26819733
  • 2017年03月03日 22:03
  • 405

实现地图上显示多mark点,自定义infoWindow,跳转高德地图和百度地图

实现功能如上图所示 1.需要绘制多个mark点, 2.可以点击生成一个自定义的infowindow 3.点击可以根据本机状况跳转高德地图或者百度地图实现功能 一,绘制多个mark点 前提条件...
  • qq_33413264
  • qq_33413264
  • 2017年11月07日 17:07
  • 575

Android开发--mark

https://romannurik.github.io/AndroidAssetStudio/index.html Launcher icon generator App shortcut icon...
  • qq229200
  • qq229200
  • 2017年04月06日 15:35
  • 255

与高德地图的一些恩怨(三)绘制mark点和infowindow

地图显示出来了之后,我们要在上边绘制mark点和写一个自定义气泡 这是单位的需求,周末回家就自己试了下,功能什么的都一样,样式和切图是自己随便闹的官方文档的内容http://lbs.amap.com...
  • qq_33413264
  • qq_33413264
  • 2017年11月07日 10:37
  • 417

使用universal-image-loader时报异常java.io.IOException: Mark has been invalidated.

在使用universal-image-loader加载图片的时候,在BaseImageDecoder.defineImageSizeAndRotation->imageStream.reset()执行...
  • a631855639
  • a631855639
  • 2015年02月04日 10:35
  • 2364

Java InputStream 的mark 和reset操作

Java  InputStream  的mark 和reset操作 mark用于标记当前位置;在读取一定数量的数据(小于readlimit的数据)后使用reset可以回到mark标记的位置。 Fi...
  • sun_abc
  • sun_abc
  • 2010年11月26日 11:48
  • 7069

多线程环境下 java.io.IOException: Mark has been invalidated.

bitmap = BitmapFactory.decodeStream(uc.getInputStream()); 12-15 15:25:47.275: W/System.err(2303): ja...
  • ID19870510
  • ID19870510
  • 2011年12月15日 15:40
  • 5210

android javamail发送邮件

今天学习了一下JavaMail,javamail发送邮件确实是一个比较麻烦的问题。为了以后使用方便,自己写了段代码,打成jar包,以方便以后使用。呵呵  以下三段代码是我的全部代码,朋友们如果想...
  • yanzhibo
  • yanzhibo
  • 2013年04月07日 16:21
  • 6202

android 调用系统邮件 发送邮件到指定邮箱

项目中需求如下:          在项目中,最后有一个联络我们,要求是点击号码还有邮箱地址能够发送邮件,这时候解决的方案其实有两种,一种是调用系统发邮件的软件,可以添加邮箱账号就可以发送邮件;第...
  • omayyouhappy
  • omayyouhappy
  • 2015年08月21日 14:00
  • 3788
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android发送邮件mark
举报原因:
原因补充:

(最多只允许输入30个字)