简体   繁体   中英

Javax.mail package didn't work in release mode apk

I'm using javax.mail package for mail sending, while application in debug mode it's work fine and send every mail to my account, but when i create release application mail stop sending form application. code is as given below:

   Properties props = new Properties();
    props.put("mail.smtp.user", "abc@xyz.com");
    props.put("mail.smtp.host", "smtp.gmail.com");
    props.put("mail.smtp.port", "465");
    props.put("mail.smtp.starttls.enable", "true");
    props.put("mail.smtp.debug", "true");
    props.put("mail.smtp.auth", "true");
    props.put("mail.smtp.socketFactory.port", "465");
    props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
    props.put("mail.smtp.socketFactory.fallback", "false");

    //Creating a new session

    session = Session.getDefaultInstance(props, new javax.mail.Authenticator() {
        //Authenticating the password
        protected PasswordAuthentication getPasswordAuthentication() {
            return new PasswordAuthentication("abc@xyz.com", "password@123");
        }
    });
    try {
        //Creating MimeMessage object
        MimeMessage mm = new MimeMessage(session);

        //Setting sender address
        mm.setFrom(new InternetAddress("abc@xyz.com"));
        //Adding receiver
        mm.addRecipient(Message.RecipientType.TO, new InternetAddress("abc@xyz.com"));
        //Adding subject
        mm.setSubject(subject);
        //Adding message
        mm.setText(message);

        //Sending email
        Transport.send(mm);

    } catch (MessagingException e) {
        e.printStackTrace();
    }

Generally this problem happen because of proguard, If you add proguard into your project it'll stop some of functionality like this.

I did it by adding package javax in proguard-rules.pro file.

-keep class javax.** {*;}

this will add all javax methods's permission in proguard.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM