Android 发送电子邮件范例
来源:互联网 发布:sql删除部分字段 编辑:程序博客网 时间:2024/06/06 10:24
Android 发送电子邮件范例
1.首先需要3个类库文件
activation.jar
additionnal.jar
mail.jar
网上可以找到的哦,勤快点哈!
2.编写一个发送邮件的操作类 SendMail.java
package com.jinshainfo.bofengbluetoothtool;//QQ 458978 代码参考网络资源修改,亲测好用,不明请联络我import java.io.File;import java.util.Date;import java.util.Properties;import javax.activation.DataHandler;import javax.activation.FileDataSource;import javax.mail.Address;import javax.mail.Message;import javax.mail.MessagingException;import javax.mail.Session;import javax.mail.Transport;import javax.mail.internet.AddressException;import javax.mail.internet.InternetAddress;import javax.mail.internet.MimeBodyPart;import javax.mail.internet.MimeMessage;import javax.mail.internet.MimeMultipart;public class SendMail { private Properties properties; private Session session; private Message message; private MimeMultipart multipart; public SendMail() { super(); this.properties = new Properties(); } public void setProperties(String host, String post) { this.properties.put("mail.smtp.host", host); this.properties.put("mail.smtp.post", post); this.properties.put("mail.smtp.auth", true); this.session = Session.getInstance(properties); this.message = new MimeMessage(session); this.multipart = new MimeMultipart("mixed"); } /** * 设置收件人 * * @param receiver * @throws MessagingException */ public void setReceiver(String[] receiver) throws MessagingException { Address[] address = new InternetAddress[receiver.length]; for (int i = 0; i < receiver.length; i++) { address[i] = new InternetAddress(receiver[i]); } this.message.setRecipients(Message.RecipientType.TO, address); } /** * 设置邮件 * * @param from * @param title * @param content * @throws AddressException * @throws MessagingException */ public void setMessage(String from, String title, String content) throws AddressException, MessagingException { this.message.setFrom(new InternetAddress(from)); this.message.setSubject(title); // 纯文本的话用setText()就行,不过有附件就显示不出来内容了 MimeBodyPart textBody = new MimeBodyPart(); textBody.setContent(content, "text/html;charset=gbk"); this.multipart.addBodyPart(textBody); } /** * 添加附件 * * @param filePath * @throws MessagingException */ public void addAttachment(String filePath) throws MessagingException { FileDataSource fileDataSource = new FileDataSource(new File(filePath)); DataHandler dataHandler = new DataHandler(fileDataSource); MimeBodyPart mimeBodyPart = new MimeBodyPart(); mimeBodyPart.setDataHandler(dataHandler); mimeBodyPart.setFileName(fileDataSource.getName()); this.multipart.addBodyPart(mimeBodyPart); } /** * 发送邮件 * * @param host 地址 * @param account 账户名 * @param pwd 密码 * @throws MessagingException */ public void sendEmail(String host, String account, String pwd) throws MessagingException { // 发送时间 this.message.setSentDate(new Date()); // 发送的内容,文本和附件 this.message.setContent(this.multipart); this.message.saveChanges(); // 创建邮件发送对象,并指定其使用SMTP协议发送邮件 Transport transport = session.getTransport("smtp"); // 登录邮箱 transport.connect(host, account, pwd); // 发送邮件 transport.sendMessage(message, message.getAllRecipients()); // 关闭连接 transport.close(); }}
在界面调用类里面使用
<pre name="code" class="java">//QQ 458978 代码参考网络资源修改,亲测好用,不明请联络我import com.jinshainfo.bofengbluetoothtool.SendMail;import android.app.Activity;import android.os.AsyncTask;import android.os.Bundle;import android.view.View;import android.widget.Button;public class MainActivity_About extends Activity {Button btnBack;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.aboutactivity);btnBack = (Button) this.findViewById(R.id.button_back_s);btnBack.setOnClickListener(new ClickEvent());}// 按钮事件class ClickEvent implements View.OnClickListener {@Overridepublic void onClick(View v) {if (v == btnBack) {new SVGAsync().execute("");//发送邮件closeAndExit();//退出界面return;}}}public void closeAndExit() {finish();}class SVGAsync extends AsyncTask<String, Integer, Object> {@Overrideprotected void onPreExecute() {super.onPreExecute();}@Overrideprotected Object doInBackground(String... params) {SendMail sender = new SendMail();// 设置服务器地址和端口sender.setProperties("smtp.qq.com", "465");// 465或者587try {sender.setMessage("458978@qq.com", "来自Andriod客户端的邮件","系统执行了您预先设置的动作!!! " + new java.util.Date().toString());// 设置收件人sender.setReceiver(new String[] { "458978@qq.com" });// 发送邮件sender.sendEmail("smtp.qq.com", "458978@qq.com","发送邮箱密码");} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}return null;}@Overrideprotected void onPostExecute(Object result) {}}}
0 0
- Android 发送电子邮件范例
- python发送电子邮件范例
- 发送电子邮件
- 发送电子邮件
- 发送电子邮件
- 发送电子邮件
- 发送电子邮件
- 发送电子邮件
- 发送电子邮件
- 电子邮件发送
- 发送电子邮件
- 发送电子邮件
- 发送电子邮件
- 电子邮件发送
- 发送电子邮件
- 发送电子邮件
- Android通过Intent发送电子邮件含附件
- Android通过Intent发送电子邮件含附件
- 简介java反射机制
- iso标准
- 深入理解Java虚拟机笔记---类加载过程
- word中的公式排版——公式比文字高的解决方法
- [PHP]基于Sort Set进行活跃用户统计
- Android 发送电子邮件范例
- 关于多线程的经典问题——生产者消费者,不能实现循环工作。
- 黑马程序员---------异或在处理排序时的小问题
- 对于mac系统如何显示隐藏文件
- Hive自定义函数UDF开发
- poj 2250 Compromise(最长公共子序列)
- 使用adb shell dumpsys分析Activity任务栈
- 在Spring、Hibernate中使用Ehcache缓存
- 傥于硕映揽窘晾晾步烤短梦尘窘扛