大佬教程收集整理的这篇文章主要介绍了Android编程 – 发送邮件,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
Intent emailIntent = new Intent(Intent.ACTION_SEND); emailIntent.setType("text/html"); emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL,sendTo ); emailIntent.putExtra(android.content.Intent.EXTRA_SUBjeCT,"test" ); emailIntent.putExtra(android.content.Intent.EXTRA_TEXT,"msg" );
当编译和运行代码时,它会询问我选择“GMail”,“BlueTooth”等应用程序的选项.但我希望在没有用户干预的情况下发送邮件.即使通过彩信发送也会对我有好处.有人可以建议我怎么做吗?
public class GMailSender extends javax.mail.Authenticator { private String mailhost = "smtp.gmail.com"; private String user; private String password; private Session session; static { Security.addProvider(new JSSEProvider()); } public GMailSender(String user,String password) { thiS.User = user; this.password = password; Properties props = new Properties(); props.setProperty("mail.transport.protocol","smtp"); props.setProperty("mail.host",mailhost); props.put("mail.smtp.auth","true"); props.put("mail.smtp.port","465"); props.put("mail.smtp.socketFactory.port","465"); props.put("mail.smtp.socketFactory.class","javax.net.ssl.SSLSocketFactory"); props.put("mail.smtp.socketFactory.fallBACk","false"); props.setProperty("mail.smtp.quitwait","false"); session = Session.getDefaulTinstance(props,this); } protected passwordAuthentication getpasswordAuthentication() { return new passwordAuthentication(user,password); } public synchronized void sendMail(String subject,String body,String sender,String recipients) throws Exception { Mimemessage message = new Mimemessage(session); DataHandler handler = new DataHandler(new ByteArrayDatasource(body.getBytes(),"text/plain")); message.setSender(new InternetAddress(sender)); message.setSubject(subject); message.setDataHandler(handler); if (recipients.indexOf(',') > 0) message.setRecipients(message.RecipientType.TO,InternetAddress.parse(recipients)); else message.setRecipient(message.RecipientType.TO,new InternetAddress(recipients)); Transport.send(messagE); } public class ByteArrayDatasource implements Datasource { private byte[] data; private String type; public ByteArrayDatasource(byte[] data,String typE) { super(); this.data = data; this.type = type; } public ByteArrayDatasource(byte[] data) { super(); this.data = data; } public void setType(String typE) { this.type = type; } public String getContentType() { if (type == null) return "application/octet-stream"; else return type; } public InputStream geTinputStream() throws IOException { return new ByteArrayInputStream(data); } public String getName() { return "ByteArrayDatasource"; } public OutputStream getOutputStream() throws IOException { throw new IOException("Not Supported"); } } }
JSSEProvider类
@SuppressWarnings("serial") public final class JSSEProvider extends Provider { public JSSEProvider() { super("HarmonyJSSE",1.0,"Harmony JSSE Provider"); AccessController.doprivileged(new java.security.PrivilegedAction() { public Void run() { put("SSLContext.TLS","org.apache.harmony.xnet.provider.jsse.SSLContextImpl"); put("Alg.Alias.SSLContext.TLSv1","TLS"); put("KeymanagerFactory.X509","org.apache.harmony.xnet.provider.jsse.KeymanagerFactoryImpl"); put("TrustManagerFactory.X509","org.apache.harmony.xnet.provider.jsse.TrustManagerFactoryImpl"); return null; } }); } }
然后发送电子邮件就像这样简单
GMailSender sender = new GMailSender("username","password"); sender.sendMail("subject",body,"sender",recipients);
以上是大佬教程为你收集整理的Android编程 – 发送邮件全部内容,希望文章能够帮你解决Android编程 – 发送邮件所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。