当前位置: 首页 > 知识库问答 >
问题:

从Android应用程序发送邮件时出现“不太安全的应用程序”错误

谷梁波
2023-03-14

我使用Android Studio和这个库;https://github.com/yesidlazaro/GmailBackground .

我正在尝试从我的android应用程序发送电子邮件。但是每当我尝试从Gmail帐户发送电子邮件时,它都不起作用。因为谷歌将我的应用程序固定为“不太安全的应用程序”并阻止它。

我不得不从gmail的安全设置中允许不太安全的应用程序。但我不想这样做。我如何解决这个问题?使我的应用程序不成为不安全的应用程序?谢谢

共有2个答案

包建义
2023-03-14

请按照以下步骤操作

1、转到gmail 2。设置3。安全4。启用不太安全的应用程序

司英彦
2023-03-14

>

  • 下载jar文件并粘贴到libs文件夹:下载链接

    创建SendMail。Java语言

     public class SendMail extends AsyncTask<Void,Void,Void> {
     private Context context;
     private Session session;
    
    //Information to send email
    private String email;
    private String subject;
    private String message;
    
    private static int SPLASH_TIME_OUT = 3000;
    //Send button
    
    
    //Progressdialog to show while sending email
    private ProgressDialog progressDialog;
    
    //Class Constructor
    public SendMail(Context context, String email, String subject, String message){
        //Initializing variables
        this.context = context;
        this.email = email;
        this.subject = subject;
        this.message = message;
    }
    
    @Override
    protected void onPreExecute() {
        super.onPreExecute();
        //Showing progress dialog while sending email
        progressDialog = ProgressDialog.show(context,"Sending message","Please wait...",false,false);
    }
    
    @Override
    protected void onPostExecute(Void aVoid) {
        super.onPostExecute(aVoid);
        //Dismissing the progress dialog
        progressDialog.dismiss();
        //Showing a success message
        Toast.makeText(context,"Message Sent",Toast.LENGTH_LONG).show();
    
    
    
    }
    
    @Override
    protected Void doInBackground(Void... params) {
        //Creating properties
        Properties props = new Properties();
    
        //Configuring properties for gmail
        //If you are not using gmail you may need to change the values
        props.put("mail.smtp.host", "smtp.gmail.com");
        props.put("mail.smtp.socketFactory.port", "465");
        props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
        props.put("mail.smtp.auth", "true");
        props.put("mail.smtp.port", "465");
    
        //Creating a new session
        session = Session.getDefaultInstance(props,
                new javax.mail.Authenticator() {
                    //Authenticating the password
                    protected PasswordAuthentication getPasswordAuthentication() {
                        return new PasswordAuthentication("abc@gmail.com", "password");
                    }
                });
    
        try {
            //Creating MimeMessage object
            MimeMessage mm = new MimeMessage(session);
    
            //Setting sender address
            mm.setFrom(new InternetAddress("abc@gmail.com"));
            //Adding receiver
            mm.addRecipient(Message.RecipientType.TO, new InternetAddress(email));
            //Adding subject
            mm.setSubject(subject);
            //Adding message
            mm.setText(message);
    
            //Sending email
            Transport.send(mm);
    
        } catch (MessagingException e) {
            e.printStackTrace();
        }
        return null;
    }} 
    

    然后在你的主要活动中。java:

        //Creating SendMail object
        SendMail sm = new SendMail(this, email_id, fullname, message);
    
        //Executing sendmail to send email
        sm.execute();
    

    使用此链接启用不太安全的应用程序

  •  类似资料:
    • 我正在尝试使用Java向Gmail帐户发送邮件,代码如下。我似乎做的每件事都是正确的,但我收到了身份验证失败的消息。谷歌想让我打开“不太安全的应用”功能来实现传输。 有没有一种方法可以让Gmail对Java满意,并且不会出现“打开不太安全的应用程序”的错误? 错误: 代码: 我已经做了研究,所以据我所知,代码不是问题所在,只是没有看到一个解决方案,用于不太安全的应用程序消息。 参考文献: 参考文献

    • 所以我遇到了这个不太安全的应用程序 我想知道是否有其他选择?我需要能够通过我的应用程序阅读电子邮件和下载附件,而无需用户自己这么做,因此Gmail API在我看来并不好。 如果不启用此选项,我也找不到任何其他访问gmail收件箱的选项。。。谢谢你的时间。

    • 我正在用asp.netC#开发一个注册表。单击提交按钮时,我想从我的gmail帐户向注册客户的gmail帐户发送一封电子邮件。但是当我尝试时,安全邮件以“ 您好******,我们最近阻止了您登录Google帐户的尝试[jijosanthigiri@gmail.com]. 登录尝试详细信息日期 “我的代码是: 我在google上搜索了错误,但没有一个完美的解决方案可以在不输入客户的gmail帐户的情

    • 我正在尝试使用php邮件从我的gmail帐户发送邮件。 我知道,为了使用php邮件程序发送邮件,我们需要从gmail帐户设置中启用“不太安全的应用程序”。 还有一个选项,在不启用“不太安全的应用程序”的情况下,我们可以通过启用两步验证从不太安全的应用程序发送邮件来使用“应用程序密码”。 但问题是使用“应用程序密码”,我无法发送来自php的邮件,邮件中出现用户名和密码不被接受的错误。 我搜索发现,我

    • 我想使用python 3.4脚本从我的gmail地址发送邮件。我使用以下代码: 如果我在我的gmail帐户中“允许不太安全的应用”,脚本就可以正常工作。然而,如果我禁用“不太安全的应用程序”,它将不起作用(我收到一封来自谷歌的警告电子邮件,其中“登录尝试被阻止”)。我想修改我的代码,以便能够在不启用此功能的情况下发送邮件。 我看了所有关于类似问题的问答,但没有找到任何有用的答案或方法。有人对此有解

    • 我正在用Android开发一个应用程序。我不知道如何从应用程序发送电子邮件?