android发送邮件

这里我说的只是一种方法,其实发送邮件的方式有很多。在之前的那个生成excel的项目继续扩展。没看过之前项目的可以先看下:android生成excel。 
首先要导入发送邮件的相应jar包,有三个,分别是activation.jar,additional.jar和mail.jar。这些jar包能在后面的工程中找到。如图: 
这里写图片描述 
然后写一个发送邮件工具类来写发送邮件的底层代码,先把代码贴出来。

<code class="hljs axapta has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-keyword" style="color:#0088;box-sizing: border-box;">public</span> <span class="hljs-class" style="box-sizing: border-box;"><span class="hljs-keyword" style="color:#0088;box-sizing: border-box;">class</span> <span class="hljs-title" style="color:#66066;box-sizing: border-box;">EmailUtil</span> {</span>

    <span class="hljs-class" style="box-sizing: border-box;"><span class="hljs-keyword" style="color:#0088;box-sizing: border-box;">class</span> <span class="hljs-title" style="color:#66066;box-sizing: border-box;">MyAuthenticator</span> <span class="hljs-inheritance" style="box-sizing: border-box;"><span class="hljs-keyword" style="color:#0088;box-sizing: border-box;">extends</span></span> <span class="hljs-title" style="color:#66066;box-sizing: border-box;">javax</span>.<span class="hljs-title" style="color:#66066;box-sizing: border-box;">mail</span>.<span class="hljs-title" style="color:#66066;box-sizing: border-box;">Authenticator</span> {</span>
        <span class="hljs-keyword" style="color:#0088;box-sizing: border-box;">private</span> String strUser;
        <span class="hljs-keyword" style="color:#0088;box-sizing: border-box;">private</span> String strPwd;

        <span class="hljs-keyword" style="color:#0088;box-sizing: border-box;">public</span> MyAuthenticator(String user, String password) {
            <span class="hljs-keyword" style="color:#0088;box-sizing: border-box;">this</span>.strUser = user;
            <span class="hljs-keyword" style="color:#0088;box-sizing: border-box;">this</span>.strPwd = password;
        }

        <span class="hljs-keyword" style="color:#0088;box-sizing: border-box;">protected</span> PasswordAuthentication getPasswordAuthentication() {
            <span class="hljs-keyword" style="color:#0088;box-sizing: border-box;">return</span> <span class="hljs-keyword" style="color:#0088;box-sizing: border-box;">new</span> PasswordAuthentication(strUser, strPwd);
        }
    }

    <span class="hljs-keyword" style="color:#0088;box-sizing: border-box;">public</span> <span class="hljs-keyword" style="color:#0088;box-sizing: border-box;">void</span> sendMail(String toMail, String fromMail, String <span class="hljs-keyword" style="color:#0088;box-sizing: border-box;">server</span>,
            String username, String password, String title, String body,
            String attachment) throws Exception {

        Properties props = System.getProperties();<span class="hljs-comment" style="color:#8800;box-sizing: border-box;">// Get system properties</span>
        <span class="hljs-comment" style="color:#8800;box-sizing: border-box;">//添加邮箱地址。</span>
        props.put(<span class="hljs-string" style="color:#0880;box-sizing: border-box;">"mail.smtp.host"</span>, <span class="hljs-keyword" style="color:#0088;box-sizing: border-box;">server</span>);<span class="hljs-comment" style="color:#8800;box-sizing: border-box;">// Setup mail server</span>

        props.put(<span class="hljs-string" style="color:#0880;box-sizing: border-box;">"mail.smtp.auth"</span>, <span class="hljs-string" style="color:#0880;box-sizing: border-box;">"true"</span>);
        <span class="hljs-comment" style="color:#8800;box-sizing: border-box;">//添加邮箱权限</span>
        MyAuthenticator myauth = <span class="hljs-keyword" style="color:#0088;box-sizing: border-box;">new</span> MyAuthenticator(username, password);<span class="hljs-comment" style="color:#8800;box-sizing: border-box;">// Get</span>

        Session session = Session.getDefaultInstance(props, myauth);

        MimeMessage message = <span class="hljs-keyword" style="color:#0088;box-sizing: border-box;">new</span> MimeMessage(session); <span class="hljs-comment" style="color:#8800;box-sizing: border-box;">// Define message</span>
        <span class="hljs-comment" style="color:#8800;box-sizing: border-box;">//设置目的邮箱</span>
        message.setFrom(<span class="hljs-keyword" style="color:#0088;box-sizing: border-box;">new</span> InternetAddress(fromMail)); <span class="hljs-comment" style="color:#8800;box-sizing: border-box;">// Set the from address</span>

        message.addRecipient(Message.RecipientType.TO, <span class="hljs-keyword" style="color:#0088;box-sizing: border-box;">new</span> InternetAddress(
                toMail));<span class="hljs-comment" style="color:#8800;box-sizing: border-box;">// Set</span>
        <span class="hljs-comment" style="color:#8800;box-sizing: border-box;">//设置邮件的标题</span>
        message.setSubject(title);<span class="hljs-comment" style="color:#8800;box-sizing: border-box;">// Set the subject</span>

        <span class="hljs-comment" style="color:#8800;box-sizing: border-box;">// message.setText(MimeUtility.encodeWord(body));// Set the content</span>

        MimeMultipart allMultipart = <span class="hljs-keyword" style="color:#0088;box-sizing: border-box;">new</span> MimeMultipart(<span class="hljs-string" style="color:#0880;box-sizing: border-box;">"mixed"</span>);

        MimeBodyPart attachPart = <span class="hljs-keyword" style="color:#0088;box-sizing: border-box;">new</span> MimeBodyPart();
        <span class="hljs-comment" style="color:#8800;box-sizing: border-box;">//添加附件</span>
        FileDataSource fds = <span class="hljs-keyword" style="color:#0088;box-sizing: border-box;">new</span> FileDataSource(attachment);
        attachPart.setDataHandler(<span class="hljs-keyword" style="color:#0088;box-sizing: border-box;">new</span> DataHandler(fds));<span class="hljs-comment" style="color:#8800;box-sizing: border-box;">//附件</span>
        attachPart.setFileName(MimeUtility.encodeWord(fds.getName()));

        MimeBodyPart textBodyPart = <span class="hljs-keyword" style="color:#0088;box-sizing: border-box;">new</span> MimeBodyPart();
        <span class="hljs-comment" style="color:#8800;box-sizing: border-box;">//添加邮件内容</span>
        textBodyPart.setText(body);

        allMultipart.addBodyPart(attachPart);
        allMultipart.addBodyPart(textBodyPart);
        message.setContent(allMultipart);
        message.saveChanges();
        Transport.send(message);<span class="hljs-comment" style="color:#8800;box-sizing: border-box;">//发送邮件</span>
    }
}</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li><li style="box-sizing: border-box; padding: 0px 5px;">17</li><li style="box-sizing: border-box; padding: 0px 5px;">18</li><li style="box-sizing: border-box; padding: 0px 5px;">19</li><li style="box-sizing: border-box; padding: 0px 5px;">20</li><li style="box-sizing: border-box; padding: 0px 5px;">21</li><li style="box-sizing: border-box; padding: 0px 5px;">22</li><li style="box-sizing: border-box; padding: 0px 5px;">23</li><li style="box-sizing: border-box; padding: 0px 5px;">24</li><li style="box-sizing: border-box; padding: 0px 5px;">25</li><li style="box-sizing: border-box; padding: 0px 5px;">26</li><li style="box-sizing: border-box; padding: 0px 5px;">27</li><li style="box-sizing: border-box; padding: 0px 5px;">28</li><li style="box-sizing: border-box; padding: 0px 5px;">29</li><li style="box-sizing: border-box; padding: 0px 5px;">30</li><li style="box-sizing: border-box; padding: 0px 5px;">31</li><li style="box-sizing: border-box; padding: 0px 5px;">32</li><li style="box-sizing: border-box; padding: 0px 5px;">33</li><li style="box-sizing: border-box; padding: 0px 5px;">34</li><li style="box-sizing: border-box; padding: 0px 5px;">35</li><li style="box-sizing: border-box; padding: 0px 5px;">36</li><li style="box-sizing: border-box; padding: 0px 5px;">37</li><li style="box-sizing: border-box; padding: 0px 5px;">38</li><li style="box-sizing: border-box; padding: 0px 5px;">39</li><li style="box-sizing: border-box; padding: 0px 5px;">40</li><li style="box-sizing: border-box; padding: 0px 5px;">41</li><li style="box-sizing: border-box; padding: 0px 5px;">42</li><li style="box-sizing: border-box; padding: 0px 5px;">43</li><li style="box-sizing: border-box; padding: 0px 5px;">44</li><li style="box-sizing: border-box; padding: 0px 5px;">45</li><li style="box-sizing: border-box; padding: 0px 5px;">46</li><li style="box-sizing: border-box; padding: 0px 5px;">47</li><li style="box-sizing: border-box; padding: 0px 5px;">48</li><li style="box-sizing: border-box; padding: 0px 5px;">49</li><li style="box-sizing: border-box; padding: 0px 5px;">50</li><li style="box-sizing: border-box; padding: 0px 5px;">51</li><li style="box-sizing: border-box; padding: 0px 5px;">52</li><li style="box-sizing: border-box; padding: 0px 5px;">53</li><li style="box-sizing: border-box; padding: 0px 5px;">54</li><li style="box-sizing: border-box; padding: 0px 5px;">55</li><li style="box-sizing: border-box; padding: 0px 5px;">56</li><li style="box-sizing: border-box; padding: 0px 5px;">57</li><li style="box-sizing: border-box; padding: 0px 5px;">58</li><li style="box-sizing: border-box; padding: 0px 5px;">59</li><li style="box-sizing: border-box; padding: 0px 5px;">60</li></ul>

toMail:是发送目的的邮箱。 
fromMail:是用于发送的邮箱。 
server:固定写为”smtp.mxhichina.com”。这是阿里云企业邮箱地址。 
account:指用于发送邮件的邮箱账号。 
password:指用于发送邮件的邮箱密码。 
title,body:不用说,就是邮件的题目和内容。 
attachment:表示上传的附件在手机中的路径。 
代码都加了注释,还是比较清楚的。重点看下添加附件部分,因为内容有两部分,有文字内容和附近,所以要用MimeMultipart 来实现两部分的添加。MimeBodyPart生于添加一部分的内容,setText方法用于添加方字内容。setFileName用于添加附件内容,具体的看代码。 
接下来就是发送邮件的业务层代码了。看下MainActivity代码:

<code class="hljs java has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-keyword" style="color:#0088;box-sizing: border-box;">public</span> <span class="hljs-class" style="box-sizing: border-box;"><span class="hljs-keyword" style="color:#0088;box-sizing: border-box;">class</span> <span class="hljs-title" style="color:#66066;box-sizing: border-box;">MainActivity</span> <span class="hljs-keyword" style="color:#0088;box-sizing: border-box;">extends</span> <span class="hljs-title" style="color:#66066;box-sizing: border-box;">Activity</span> {</span>
    Button btn,btn1;
    List<Order> orders = <span class="hljs-keyword" style="color:#0088;box-sizing: border-box;">new</span> ArrayList<Order>();
    String path;
    <span class="hljs-annotation" style="color:#9b859d;box-sizing: border-box;">@Override</span>
    <span class="hljs-keyword" style="color:#0088;box-sizing: border-box;">protected</span> <span class="hljs-keyword" style="color:#0088;box-sizing: border-box;">void</span> <span class="hljs-title" style="box-sizing: border-box;">onCreate</span>(Bundle savedInstanceState) {
        <span class="hljs-keyword" style="color:#0088;box-sizing: border-box;">super</span>.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        <span class="hljs-keyword" style="color:#0088;box-sizing: border-box;">int</span> length = Const.OrderInfo.orderOne.length;
        <span class="hljs-keyword" style="color:#0088;box-sizing: border-box;">for</span>(<span class="hljs-keyword" style="color:#0088;box-sizing: border-box;">int</span> i = <span class="hljs-number" style="color:#06666;box-sizing: border-box;">0</span>;i < length;i++){
            Order order = <span class="hljs-keyword" style="color:#0088;box-sizing: border-box;">new</span> Order( Const.OrderInfo.orderOne[i][<span class="hljs-number" style="color:#06666;box-sizing: border-box;">0</span>],  Const.OrderInfo.orderOne[i][<span class="hljs-number" style="color:#06666;box-sizing: border-box;">1</span>],  Const.OrderInfo.orderOne[i][<span class="hljs-number" style="color:#06666;box-sizing: border-box;">2</span>],  Const.OrderInfo.orderOne[i][<span class="hljs-number" style="color:#06666;box-sizing: border-box;">3</span>]);
            orders.add(order);
        }
        btn = (Button)<span class="hljs-keyword" style="color:#0088;box-sizing: border-box;">super</span>.findViewById(R.id.btn);
        btn1 = (Button)<span class="hljs-keyword" style="color:#0088;box-sizing: border-box;">super</span>.findViewById(R.id.btn1);
        btn.setOnClickListener(<span class="hljs-keyword" style="color:#0088;box-sizing: border-box;">new</span> OnClickListener() {

            <span class="hljs-annotation" style="color:#9b859d;box-sizing: border-box;">@Override</span>
            <span class="hljs-keyword" style="color:#0088;box-sizing: border-box;">public</span> <span class="hljs-keyword" style="color:#0088;box-sizing: border-box;">void</span> <span class="hljs-title" style="box-sizing: border-box;">onClick</span>(View v) {
                <span class="hljs-comment" style="color:#8800;box-sizing: border-box;">// TODO Auto-generated method stub</span>
                String fileName = <span class="hljs-string" style="color:#0880;box-sizing: border-box;">"excel_"</span>+<span class="hljs-keyword" style="color:#0088;box-sizing: border-box;">new</span> Date().toString();
                path =  <span class="hljs-string" style="color:#0880;box-sizing: border-box;">"/MailDemo/"</span> + fileName ;

                <span class="hljs-keyword" style="color:#0088;box-sizing: border-box;">try</span> {

                    ExcelUtil.writeExcel(MainActivity.<span class="hljs-keyword" style="color:#0088;box-sizing: border-box;">this</span>,
                            orders, path);

                } <span class="hljs-keyword" style="color:#0088;box-sizing: border-box;">catch</span> (Exception e) {
                    <span class="hljs-comment" style="color:#8800;box-sizing: border-box;">// TODO Auto-generated catch block</span>
                    e.printStackTrace();
                }

            }
        });
        btn1.setOnClickListener(<span class="hljs-keyword" style="color:#0088;box-sizing: border-box;">new</span> OnClickListener() {

            <span class="hljs-annotation" style="color:#9b859d;box-sizing: border-box;">@Override</span>
            <span class="hljs-keyword" style="color:#0088;box-sizing: border-box;">public</span> <span class="hljs-keyword" style="color:#0088;box-sizing: border-box;">void</span> <span class="hljs-title" style="box-sizing: border-box;">onClick</span>(View v) {
                <span class="hljs-comment" style="color:#8800;box-sizing: border-box;">// TODO Auto-generated method stub</span>
                String pathString = getExternalFilesDir(<span class="hljs-keyword" style="color:#0088;box-sizing: border-box;">null</span>).getPath()+path;
                sendMail(<span class="hljs-string" style="color:#0880;box-sizing: border-box;">"635596741@qq.com"</span>, <span class="hljs-string" style="color:#0880;box-sizing: border-box;">"订单"</span>,
                        <span class="hljs-string" style="color:#0880;box-sizing: border-box;">"邮件由系统自动发送,请不要回复!"</span>, pathString+ <span class="hljs-string" style="color:#0880;box-sizing: border-box;">".xls"</span>);
                Toast.makeText(MainActivity.<span class="hljs-keyword" style="color:#0088;box-sizing: border-box;">this</span>, <span class="hljs-string" style="color:#0880;box-sizing: border-box;">"邮件发送成功"</span>, Toast.LENGTH_SHORT).show();
            }
        });

    }
    <span class="hljs-keyword" style="color:#0088;box-sizing: border-box;">public</span> <span class="hljs-keyword" style="color:#0088;box-sizing: border-box;">void</span> <span class="hljs-title" style="box-sizing: border-box;">sendMail</span>(<span class="hljs-keyword" style="color:#0088;box-sizing: border-box;">final</span> String toMail, <span class="hljs-keyword" style="color:#0088;box-sizing: border-box;">final</span> String title,
            <span class="hljs-keyword" style="color:#0088;box-sizing: border-box;">final</span> String body, <span class="hljs-keyword" style="color:#0088;box-sizing: border-box;">final</span> String path){
        <span class="hljs-keyword" style="color:#0088;box-sizing: border-box;">new</span> Thread(<span class="hljs-keyword" style="color:#0088;box-sizing: border-box;">new</span> Runnable() {
            <span class="hljs-keyword" style="color:#0088;box-sizing: border-box;">public</span> <span class="hljs-keyword" style="color:#0088;box-sizing: border-box;">void</span> <span class="hljs-title" style="box-sizing: border-box;">run</span>() {
                EmailUtil emailUtil = <span class="hljs-keyword" style="color:#0088;box-sizing: border-box;">new</span> EmailUtil();
                <span class="hljs-keyword" style="color:#0088;box-sizing: border-box;">try</span> {

                    String account = <span class="hljs-string" style="color:#0880;box-sizing: border-box;">"xxxx@123.com(your mail)"</span>;
                    String password = <span class="hljs-string" style="color:#0880;box-sizing: border-box;">"xxx(your password)"</span>;

                    emailUtil.sendMail(toMail, account, <span class="hljs-string" style="color:#0880;box-sizing: border-box;">"smtp.mxhichina.com"</span>,
                            account, password, title, body, path);

                } <span class="hljs-keyword" style="color:#0088;box-sizing: border-box;">catch</span> (Exception e) {
                    e.printStackTrace();
                }
            }
        }).start();
    }

}</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li><li style="box-sizing: border-box; padding: 0px 5px;">17</li><li style="box-sizing: border-box; padding: 0px 5px;">18</li><li style="box-sizing: border-box; padding: 0px 5px;">19</li><li style="box-sizing: border-box; padding: 0px 5px;">20</li><li style="box-sizing: border-box; padding: 0px 5px;">21</li><li style="box-sizing: border-box; padding: 0px 5px;">22</li><li style="box-sizing: border-box; padding: 0px 5px;">23</li><li style="box-sizing: border-box; padding: 0px 5px;">24</li><li style="box-sizing: border-box; padding: 0px 5px;">25</li><li style="box-sizing: border-box; padding: 0px 5px;">26</li><li style="box-sizing: border-box; padding: 0px 5px;">27</li><li style="box-sizing: border-box; padding: 0px 5px;">28</li><li style="box-sizing: border-box; padding: 0px 5px;">29</li><li style="box-sizing: border-box; padding: 0px 5px;">30</li><li style="box-sizing: border-box; padding: 0px 5px;">31</li><li style="box-sizing: border-box; padding: 0px 5px;">32</li><li style="box-sizing: border-box; padding: 0px 5px;">33</li><li style="box-sizing: border-box; padding: 0px 5px;">34</li><li style="box-sizing: border-box; padding: 0px 5px;">35</li><li style="box-sizing: border-box; padding: 0px 5px;">36</li><li style="box-sizing: border-box; padding: 0px 5px;">37</li><li style="box-sizing: border-box; padding: 0px 5px;">38</li><li style="box-sizing: border-box; padding: 0px 5px;">39</li><li style="box-sizing: border-box; padding: 0px 5px;">40</li><li style="box-sizing: border-box; padding: 0px 5px;">41</li><li style="box-sizing: border-box; padding: 0px 5px;">42</li><li style="box-sizing: border-box; padding: 0px 5px;">43</li><li style="box-sizing: border-box; padding: 0px 5px;">44</li><li style="box-sizing: border-box; padding: 0px 5px;">45</li><li style="box-sizing: border-box; padding: 0px 5px;">46</li><li style="box-sizing: border-box; padding: 0px 5px;">47</li><li style="box-sizing: border-box; padding: 0px 5px;">48</li><li style="box-sizing: border-box; padding: 0px 5px;">49</li><li style="box-sizing: border-box; padding: 0px 5px;">50</li><li style="box-sizing: border-box; padding: 0px 5px;">51</li><li style="box-sizing: border-box; padding: 0px 5px;">52</li><li style="box-sizing: border-box; padding: 0px 5px;">53</li><li style="box-sizing: border-box; padding: 0px 5px;">54</li><li style="box-sizing: border-box; padding: 0px 5px;">55</li><li style="box-sizing: border-box; padding: 0px 5px;">56</li><li style="box-sizing: border-box; padding: 0px 5px;">57</li><li style="box-sizing: border-box; padding: 0px 5px;">58</li><li style="box-sizing: border-box; padding: 0px 5px;">59</li><li style="box-sizing: border-box; padding: 0px 5px;">60</li><li style="box-sizing: border-box; padding: 0px 5px;">61</li><li style="box-sizing: border-box; padding: 0px 5px;">62</li><li style="box-sizing: border-box; padding: 0px 5px;">63</li><li style="box-sizing: border-box; padding: 0px 5px;">64</li><li style="box-sizing: border-box; padding: 0px 5px;">65</li><li style="box-sizing: border-box; padding: 0px 5px;">66</li><li style="box-sizing: border-box; padding: 0px 5px;">67</li><li style="box-sizing: border-box; padding: 0px 5px;">68</li><li style="box-sizing: border-box; padding: 0px 5px;">69</li><li style="box-sizing: border-box; padding: 0px 5px;">70</li></ul>

重点看下sendMail方法,其实很简单,就是把对应的参数往里传,分别传入你的邮箱密码、你要发送的目的邮件、邮件的内容题目及附件路径。但是注意要开启一个线程来发邮件,因为发邮件的时间可能比较长,在主线程中发的话可以会导致NAR。这里还有一点要注意的是传入附件的路径要和excel生成的路径一致,才能找到文件。如果是批量发送邮件,就要考虑使用线程池,但如果是批量发的话,一般都是在后台进行处理。 
到此发送邮件的功能就实现了。还是比较简单实用的。 
项目下载

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值