react native android设置邮箱,进行邮件发送

react native android设置邮箱,进行邮件发送

  1. 引入发送邮件的架包。

    在build.gradle 的dependencies 下引入:

    复制代码
     //发送邮件的依赖
     implementation 'com.sun.mail:android-mail:1.6.7'
     implementation 'com.sun.mail:android-activation:1.6.7'
  2. 导入EmailSender类

    复制代码
     import android.widget.Toast;
     
     import java.util.Properties;
     
     import javax.mail.Authenticator;
     import javax.mail.Message;
     import javax.mail.MessageRemovedException;
     import javax.mail.MessagingException;
     import javax.mail.PasswordAuthentication;
     import javax.mail.Session;
     import javax.mail.Transport;
     import javax.mail.internet.InternetAddress;
     import javax.mail.internet.MimeMessage;
     
     public class EmailSender {
         private String username;
         private String password;
         private String host;
         private String port;
     
     
         public EmailSender(String username,String password,String host,String port){
             this.username = username;
             this.password = password;
             this.host = host;
             this.port = port;
     
         }
     
         public void sendEmail(String to, String subject , String text){
     
             Properties properties = new Properties();
             properties.put("mail.smtp.auth",true);
             properties.put("mail.smtp.starttls.enable",true);
             properties.put("mail.smtp.host",host);
             properties.put("mail.smtp.port",port);
     
             Session session = Session.getInstance(properties, new Authenticator() {
                 @Override
                 protected PasswordAuthentication getPasswordAuthentication() {
                     return new PasswordAuthentication(username,password);
                 }
             });
     
             try {
                 Message message = new MimeMessage(session);
                 message.setFrom(new InternetAddress(username));
                 message.setRecipients(Message.RecipientType.TO,InternetAddress.parse(to));
                 message.setSubject(subject);
                 message.setText(text);
     
     
                 Transport.send(message);
     
             } catch (MessagingException e){
                 e.printStackTrace();
             }
     
         }
     
     }
  3. 在NativeModule 中调用。

username:账户名、邮箱

password:密码

host:主机

port:端口

to:发送的邮箱

subject:主题

text:内容

复制代码
	@ReactMethod
	    public void sendEmail(String username,String password,String host,String port,String to,String subject,String text) {
	
	        new Thread(new Runnable() {
	            @Override
	            public void run() {
	                EmailSender emailSender = new EmailSender(username,password,host,port);
	
	                emailSender.sendEmail(to,subject,text);
	            }
	        }).start();
	

}
相关推荐
百锦再3 小时前
React编程高级主题:测试代码
android·前端·javascript·react.js·前端框架·reactjs
JH30734 小时前
SpringBoot 优雅处理金额格式化:拦截器+自定义注解方案
java·spring boot·spring
2501_916008894 小时前
全面介绍Fiddler、Wireshark、HttpWatch、SmartSniff和firebug抓包工具功能与使用
android·ios·小程序·https·uni-app·iphone·webview
玉梅小洋5 小时前
Windows 10 Android 构建配置指南
android·windows
Libraeking6 小时前
视觉篇:Canvas 自定义绘图与高级动画的华丽圆舞曲
android·经验分享·android jetpack
qq_12498707537 小时前
基于SSM的动物保护系统的设计与实现(源码+论文+部署+安装)
java·数据库·spring boot·毕业设计·ssm·计算机毕业设计
Coder_Boy_7 小时前
基于SpringAI的在线考试系统-考试系统开发流程案例
java·数据库·人工智能·spring boot·后端
2301_818732067 小时前
前端调用控制层接口,进不去,报错415,类型不匹配
java·spring boot·spring·tomcat·intellij-idea
Fushize7 小时前
多模块架构下的依赖治理:如何避免 Gradle 依赖地狱
android·架构·kotlin
Jomurphys8 小时前
Kotlin - 类型别名 typealias
android·kotlin