zoukankan      html  css  js  c++  java
  • Android 基于Android的手机邮件收发(JavaMail)之四(邮件的发送)

    上一个邮件的接受,因为不当操作,保存未完成,一切东西都得从头开始那就先从邮件发送来吧。

    先下我们做一个较为简单的邮件发送

    以下是源代码:相信看过上篇文章所给连接的人,对于javamail应该都有了一定的认识和了解

    sendMail
    
    package mi.email.activity;
    
    import java.io.IOException;
    import java.util.Properties;
    
    import javax.mail.Address;
    import javax.mail.Message;
    import javax.mail.MessagingException;
    import javax.mail.Session;
    import javax.mail.Transport;
    import javax.mail.internet.InternetAddress;
    import javax.mail.internet.MimeMessage;
    
    import mi.learn.com.R;
    import android.app.Activity;
    import android.content.SharedPreferences;
    import android.os.Bundle;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.EditText;
    
    public class SendMail extends Activity {
        private Button btnClick;
        private EditText txtToAddress;
        private EditText txtSubject;
        private EditText txtContent;
        private static final String SAVE_INFORMATION = "save_information";
        String username;
        String password;
    
        public void SendMail() throws MessagingException, IOException {
            // 用sharedpreference来获取数值
            SharedPreferences pre = getSharedPreferences(SAVE_INFORMATION,
                    MODE_WORLD_READABLE);
            String content = pre.getString("save", "");
            String[] Information = content.split(";");
            username = Information[0];
            password = Information[1];
    
            // 该部分有待完善!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
            Properties props = new Properties();
            props.put("mail.smtp.host", "smtp.sina.com");// 存储发送邮件服务器的信息
            props.put("mail.smtp.auth", "true");// 同时通过验证
            // 基本的邮件会话
            Session session = Session.getInstance(props);
            session.setDebug(true);// 设置调试标志
            // 构造信息体
            MimeMessage message = new MimeMessage(session);
    
            // 发件地址
            Address fromAddress = null;
            // fromAddress = new InternetAddress("sarah_susan@sina.com");
            fromAddress = new InternetAddress(username);
            message.setFrom(fromAddress);
    
            // 收件地址
            Address toAddress = null;
            toAddress = new InternetAddress(txtToAddress.getText().toString());
            message.addRecipient(Message.RecipientType.TO, toAddress);
    
            // 解析邮件内容
    
            message.setSubject(txtSubject.getText().toString());// 设置信件的标题
            message.setText(txtContent.getText().toString());// 设置信件内容
            message.saveChanges(); // implicit with send()//存储有信息
    
            // send e-mail message
    
            Transport transport = null;
            transport = session.getTransport("smtp");
            transport.connect("smtp.sina.com", username, password);
    
            transport.sendMessage(message, message.getAllRecipients());
            transport.close();
            System.out.println("邮件发送成功!");
    
        }
    
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
    
            setContentView(R.layout.send_email);
    
            txtToAddress = (EditText) findViewById(R.id.txtToAddress);
            txtSubject = (EditText) findViewById(R.id.txtSubject);
            txtContent = (EditText) findViewById(R.id.txtContent);
    
            txtToAddress.setText("自己的邮箱@qq.com");
            txtSubject.setText("Hello~");
            txtContent.setText("你好,我在做程序呢~");
    
            btnClick = (Button) findViewById(R.id.btnSEND);
            btnClick.setOnClickListener(new OnClickListener() {
    
                public void onClick(View v) {
                    // TODO Auto-generated method stub
    
                    try {
                        SendMail();
                    } catch (MessagingException e) {
    
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                }
    
            });
    
        }
    
    }

    界面效果图:

  • 相关阅读:
    使用vue3.0仿Mac系统的提醒事项做的一个TODO功能
    一些容易忽略的css选择器
    根据node节点生成VNode以及解析成node节点
    jQuery-day02
    jQuery-day01
    初探WebSocket
    Python-如何对字典集合进行排序
    sqlserver获取代理服务作业job的执行情况
    excel中多表汇总
    [javascript][转载]jQuery获取Select选择的Text和 Value
  • 原文地址:https://www.cnblogs.com/zhujiabin/p/6252889.html
Copyright © 2011-2022 走看看