栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在Android中自动在后台发送邮件

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在Android中自动在后台发送邮件

MainActivity.java

点击按钮:

String fromEmail = "sample@gmail.com";      String fromPassword = "xxxxxx";      String toEmails = to_sample@gmail.com;      String adminEmail = "admin@gmail.com";      String emailSubject = "App Registration Mail";      String adminSubject = "App Registration Mail";      String emailBody = "Your message";      String adminBody = "Your message";      new SendMailTask(YOurActivity.this).execute(fromEmail,   fromPassword, toEmails, emailSubject, emailBody);

GMail.java

import java.io.UnsupportedEncodingException;import java.util.List;import java.util.Properties;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.MimeMessage;import android.app.alertDialog.Builder;import android.util.Log;public class GMail {    final String emailPort = "587";// gmail's smtp port    final String smtpAuth = "true";    final String starttls = "true";    final String emailHost = "smtp.gmail.com";    String fromEmail;    String fromPassword;    @SuppressWarnings("rawtypes")    String toEmailList;    String emailSubject;    String emailBody;    Properties emailProperties;    Session mailSession;    MimeMessage emailMessage;    public GMail() {    }    @SuppressWarnings("rawtypes")    public GMail(String fromEmail, String fromPassword, String toEmailList, String emailSubject, String emailBody) {        this.fromEmail = fromEmail;        this.fromPassword = fromPassword;        this.toEmailList = toEmailList;        this.emailSubject = emailSubject;        this.emailBody = emailBody;        emailProperties = System.getProperties();        emailProperties.put("mail.smtp.port", emailPort);        emailProperties.put("mail.smtp.auth", smtpAuth);        emailProperties.put("mail.smtp.starttls.enable", starttls);        Log.i("GMail", "Mail server properties set.");    }    public MimeMessage createEmailMessage() throws AddressException, MessagingException, UnsupportedEncodingException {        mailSession = Session.getDefaultInstance(emailProperties, null);        emailMessage = new MimeMessage(mailSession);        emailMessage.setFrom(new InternetAddress(fromEmail, fromEmail)); Log.i("GMail","toEmail: "+toEmailList); emailMessage.addRecipient(Message.RecipientType.TO,         new InternetAddress(toEmailList));        emailMessage.setSubject(emailSubject);        emailMessage.setContent(emailBody, "text/html");// for a html email        // emailMessage.setText(emailBody);// for a text email        Log.i("GMail", "Email Message created.");        return emailMessage;    }    public void sendEmail() throws AddressException, MessagingException {        Transport transport = mailSession.getTransport("smtp");        transport.connect(emailHost, fromEmail, fromPassword);        Log.i("GMail","allrecipients: "+emailMessage.getAllRecipients());        transport.sendMessage(emailMessage, emailMessage.getAllRecipients());        transport.close();        Log.i("GMail", "Email sent successfully.");    }}

SendMailTask​​.java:

import java.util.List;import android.app.Activity;import android.app.ProgressDialog;import android.app.alertDialog.Builder;import android.os.AsyncTask;import android.util.Log;@SuppressWarnings("rawtypes")public class SendMailTask extends AsyncTask {    private ProgressDialog statusDialog;    private Activity sendMailActivity;    public SendMailTask(Activity activity) {        sendMailActivity = activity;    }    protected void onPreExecute() {        statusDialog = new ProgressDialog(sendMailActivity);        statusDialog.setMessage("Getting ready...");        statusDialog.setIndeterminate(false);        statusDialog.setCancelable(false);        statusDialog.show();    }    @SuppressWarnings("unchecked")    @Override    protected Object doInBackground(Object... args) {        try { Log.i("SendMailTask", "about to instantiate GMail..."); publishProgress("Processing input...."); GMail androidEmail = new GMail(args[0].toString(),         args[1].toString(),  args[2].toString(), args[3].toString(),         args[4].toString()); publishProgress("Preparing mail message...."); androidEmail.createEmailMessage(); publishProgress("Sending email...."); androidEmail.sendEmail(); publishProgress("Email Sent."); Log.i("SendMailTask", "Mail Sent."); Config.mailSuccess="1";        } catch (Exception e) { publishProgress(e.getMessage()); Log.e("SendMailTask", e.getMessage(), e);        }        return null;    }    @Override    public void onProgressUpdate(Object... values) {        statusDialog.setMessage(values[0].toString());    }    @Override    public void onPostExecute(Object result) {        statusDialog.dismiss();    }}

库文件



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/509458.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号