Невозможно отправить электронную почту (SMTP), когда на VPN - PullRequest
0 голосов
/ 03 марта 2019

Я отправляю электронное письмо из приложения на мою учетную запись Gmail с SMTP.он успешно работает, но пока VPN включен, электронная почта не отправляется.как исправить эту проблему в Android студии?Есть еще один способ отправить сообщение на мою электронную почту в Android Studio без использования намерений?

Sendmail.java класс:

public class SendMail extends AsyncTask<Void, Void, Void> {
private Context context;
private Session session;
private String email;
private String subject;
private String message;
private String name;
private String youremail;
private ProgressDialog progressDialog;
public SendMail(Context context, String name, String youremail, String email, String subject, String message) {
    this.context = context;
    this.email = email;
    this.subject = subject;
    this.message = message;
    this.name = name;
    this.youremail = youremail;
}
@Override
protected void onPreExecute() {
    super.onPreExecute();
    progressDialog = ProgressDialog.show(context, "Sending message", "Please wait...", false, false); 
}
@Override
protected void onPostExecute(Void aVoid) {
    super.onPostExecute(aVoid);
    progressDialog.dismiss();
    Toast.makeText(context, "Message Sent", Toast.LENGTH_LONG).show();
}

@Override
protected Void doInBackground(Void... params) {
    Properties props = new Properties();
    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");
    session = Session.getDefaultInstance(props,
            new javax.mail.Authenticator() {
                protected PasswordAuthentication getPasswordAuthentication() {
                    return new PasswordAuthentication(Config.EMAIL, Config.PASSWORD);
                }
            });
    try {
        MimeMessage mm = new MimeMessage(session);
        mm.setFrom(new InternetAddress(Config.EMAIL));
        mm.addRecipient(Message.RecipientType.TO, new InternetAddress(email));
        mm.setSubject(subject);
        mm.setText(name + "\n" + youremail + "\n" + message);
        Transport.send(mm);
    } catch (MessagingException e) {
        e.printStackTrace();
    }
    return null;
}}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...