Android(安卓)邮件发送(一键发送, 163邮箱)
16lz
2021-12-04
在Android中发送邮件需要到三个JAVA包: mail.jar+activation.jar+additionnal.jar
加载包的方法: 右键项目->Build path->Add Libraries->user Libraries->new 然后 addJARs
下载地址: http://download.csdn.net/detail/knowheart/4133405
所需权限: <uses-permission android:name="android.permission.INTERNET" />
Android 中使用163发送邮件需要一个帐号。
就需要使用到下面这个类:
用于验证帐号密码用。
public class PassAuthenticator extends Authenticator{public PasswordAuthentication getPasswordAuthentication(){String username = "邮箱帐号";String pwd = "邮箱密码";return new PasswordAuthentication(username, pwd);}}
接下来使用一个自定义方法即可实现邮件发送。
@SuppressWarnings("static-access")private boolean sendEmail(String emailString){Properties props = new Properties();props.put("mail.smtp.protocol", "smtp");props.put("mail.smtp.auth", "true"); //设置要验证props.put("mail.smtp.host", "smtp.163.com");//设置hostprops.put("mail.smtp.port", "25");//设置端口PassAuthenticator pass = new PassAuthenticator();//获取帐号密码Session session = Session.getInstance(props, pass); //获取验证会话try{//配置发送及接收邮箱InternetAddress fromAddress, toAddress;fromAddress = new InternetAddress("knowheart@163.com(发送邮件地址)", "主题");toAddress= new InternetAddress("qq@qq.com(接收邮件地址)", "");//配置发送信息MimeMessage message = new MimeMessage(session);message.setContent("Hello", "text/plain");message.setSubject("内容发送");message.setFrom(fromAddress);message.addRecipient(javax.mail.Message.RecipientType.TO, toAddress);message.saveChanges();//连接邮箱并发送Transport transport = session.getTransport("smtp"); transport.connect("smtp.163.com", "帐号", "密码");transport.send(message); transport.close();} catch (MessagingException e){// TODO Auto-generated catch blockLog.i("Msg", e.getMessage());e.printStackTrace();}catch (UnsupportedEncodingException e){// TODO Auto-generated catch blocke.printStackTrace();}return false;}
如果遇到错误:
1.连接不上邮箱
确定是否添加了网络权限
2. 邮箱验证失败
确定发送邮箱或密码是否正确
更多相关文章
- android点击邮箱链接跳转发送
- android里发送mail的几种方式
- android 短信是否发送成功
- android常用应用的包名和startAcitivity名
- Android(安卓)Handler机制之Message的发送与取出
- Android进阶(十)Android(安卓)发邮件
- Android(安卓)Socket 发送广播包的那些坑
- Android(安卓)SMS相关操作
- Android监听消息通知栏点击事件