2014-10-13 4 views
0

Я только узнал, что пользователь, который мне нужен, имеет System.Net.NetworkCredential, есть ли какое-либо свойство или что-то подобное в javamail? Я спрашиваю, потому что я только что проверил код, где я использую его, но он написан на C#, и я понятия не имею, как положить, что на JavaMail ...Свойство System.Net.NetworkCredential в javamail?

Вот мой код надрез:

final String username = "[email protected]"; 
       final String password = "XXXXXXXX"; 

       Properties props = new Properties(); 

       props.put("mail.smtp.host", "SMTP.mysmtphost.com"); 
        props.put("mail.debug", "false"); 
        props.put("mail.smtp.port", "25"); 
        props.put("mail.smtp.timeout", "60000"); 
        props.put("mail.smtp.auth", "false"); 
        props.put("mail.smtp.ssl.enable", "true"); 
        props.put("mail.smtp.ssl.trust", "*"); 

        Session session = Session.getInstance(props); 
        Message message = new MimeMessage(session); 



       try { 
        session.setDebug(true); 

        message.setFrom(new InternetAddress("[email protected]")); 
        message.setRecipients(Message.RecipientType.TO, 
         InternetAddress.parse("[email protected]")); 
        message.setRecipients(Message.RecipientType.CC, 
          InternetAddress.parse(Copy)); 
        message.setSubject("CLIENTE INSATISFECHO"); 
        message.setText("Estimados Gerentes: \n " 
          + " El Cliente " 
          + name 
          + " del área de " 
          + Area 
          + ", con factura " 
          + Factura 
          + " ha manifestado estar insatisfecho, en cuanto a " 
          + Descontentos 
          + ". Favor de dar seguimiento en éste momento. \n\n" 
          + "Atentamente\n" 
          +"Dirección de lealtad y Atención a Clientes."); 

        Transport transport = session.getTransport("smtp"); 
        transport.connect(); 
        transport.sendMessage(message, message.getAllRecipients()); 
        transport.close(); 

        Log.i("Estás enviando: ",""+message.toString()); 

        System.out.println("Done"); 

       }catch(AuthenticationFailedException e) { 
         Log.e("ERROR DE AUTENTIFICACION: ",""+e.getMessage()+e); 
         e.printStackTrace(); 
        bandera = false; 

       } catch (MessagingException e) { 
        bandera=false; 
        Log.e("ERROR ENVIANDO: ",""+e.getMessage()+e); 

        e.printStackTrace(); 

       } 

Мой Debug лаг, я получаю код ответа 454, с ответом: 454 5.7.3 Клиент не имеет разрешения на отправку почты на этот сервер:

10-13 19:01:42.584: I/System.out(2509): DEBUG: setDebug: JavaMail version 1.4.1 
10-13 19:01:42.624: I/System.out(2509): DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc.,1.4.1] 
10-13 19:01:42.635: I/System.out(2509): DEBUG SMTP: useEhlo true, useAuth false 
10-13 19:01:42.675: I/System.out(2509): DEBUG SMTP: trying to connect to host "SMTP.grupoautofin.com", port 25, isSSL false 
10-13 19:01:42.825: I/System.out(2509): 220 mtysmtp01.mexico.hosting.triara SMTP Server 01 is ready. Mon, 13 Oct 2014 18:01:42 -0500 
10-13 19:01:42.825: I/System.out(2509): DEBUG SMTP: connected to host "SMTP.grupoautofin.com", port: 25 
10-13 19:01:42.845: I/System.out(2509): EHLO localhost 
10-13 19:01:43.205: I/System.out(2509): 250-mtysmtp01.mexico.hosting.triara Hello [189.203.255.42] 
10-13 19:01:43.224: I/System.out(2509): 250-TURN 
10-13 19:01:43.224: I/System.out(2509): 250-SIZE 27262976 
10-13 19:01:43.224: I/System.out(2509): 250-ETRN 
10-13 19:01:43.224: I/System.out(2509): 250-PIPELINING 
10-13 19:01:43.224: I/System.out(2509): 250-DSN 
10-13 19:01:43.224: I/System.out(2509): 250-ENHANCEDSTATUSCODES 
10-13 19:01:43.224: I/System.out(2509): 250-8bitmime 
10-13 19:01:43.235: I/System.out(2509): 250-BINARYMIME 
10-13 19:01:43.235: I/System.out(2509): 250-CHUNKING 
10-13 19:01:43.235: I/System.out(2509): 250-VRFY 
10-13 19:01:43.235: I/System.out(2509): 250-X-EXPS GSSAPI NTLM LOGIN 
10-13 19:01:43.235: I/System.out(2509): 250-X-EXPS=LOGIN 
10-13 19:01:43.235: I/System.out(2509): 250-AUTH GSSAPI NTLM LOGIN 
10-13 19:01:43.235: I/System.out(2509): 250-AUTH=LOGIN 
10-13 19:01:43.235: I/System.out(2509): 250-X-LINK2STATE 
10-13 19:01:43.235: I/System.out(2509): 250-XEXCH50 
10-13 19:01:43.235: I/System.out(2509): 250 OK 
10-13 19:01:43.255: I/System.out(2509): DEBUG SMTP: Found extension "TURN", arg "" 
10-13 19:01:43.255: I/System.out(2509): DEBUG SMTP: Found extension "SIZE", arg "27262976" 
10-13 19:01:43.255: I/System.out(2509): DEBUG SMTP: Found extension "ETRN", arg "" 
10-13 19:01:43.255: I/System.out(2509): DEBUG SMTP: Found extension "PIPELINING", arg "" 
10-13 19:01:43.255: I/System.out(2509): DEBUG SMTP: Found extension "DSN", arg "" 
10-13 19:01:43.265: I/System.out(2509): DEBUG SMTP: Found extension "ENHANCEDSTATUSCODES", arg "" 
10-13 19:01:43.265: I/System.out(2509): DEBUG SMTP: Found extension "8bitmime", arg "" 
10-13 19:01:43.275: I/System.out(2509): DEBUG SMTP: Found extension "BINARYMIME", arg "" 
10-13 19:01:43.275: I/System.out(2509): DEBUG SMTP: Found extension "CHUNKING", arg "" 
10-13 19:01:43.275: I/System.out(2509): DEBUG SMTP: Found extension "VRFY", arg "" 
10-13 19:01:43.285: I/System.out(2509): DEBUG SMTP: Found extension "X-EXPS", arg "GSSAPI NTLM LOGIN" 
10-13 19:01:43.285: I/System.out(2509): DEBUG SMTP: Found extension "X-EXPS=LOGIN", arg "" 
10-13 19:01:43.295: I/System.out(2509): DEBUG SMTP: Found extension "AUTH", arg "GSSAPI NTLM LOGIN" 
10-13 19:01:43.295: I/System.out(2509): DEBUG SMTP: Found extension "AUTH=LOGIN", arg "" 
10-13 19:01:43.335: I/System.out(2509): DEBUG SMTP: Found extension "X-LINK2STATE", arg "" 
10-13 19:01:43.335: I/System.out(2509): DEBUG SMTP: Found extension "XEXCH50", arg "" 
10-13 19:01:43.345: I/System.out(2509): DEBUG SMTP: Found extension "OK", arg "" 
10-13 19:01:43.355: I/System.out(2509): DEBUG SMTP: use8bit false 
10-13 19:01:43.365: I/System.out(2509): MAIL FROM:<[email protected]> 
10-13 19:01:43.424: I/System.out(2509): 454 5.7.3 Client does not have permission to submit mail to this server. 
10-13 19:01:43.424: I/System.out(2509): DEBUG SMTP: got response code 454, with response: 454 5.7.3 Client does not have permission to submit mail to this server. 
10-13 19:01:43.424: I/System.out(2509): RSET 
10-13 19:01:43.424: I/System.out(2509): DEBUG SMTP: EOF: [EOF] 
10-13 19:01:43.436: I/System.out(2509): javax.mail.MessagingException: [EOF] 
10-13 19:01:43.436: I/System.out(2509):  at com.sun.mail.smtp.SMTPTransport.issueCommand(SMTPTransport.java:1481) 
10-13 19:01:43.436: I/System.out(2509):  at com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:1512) 
10-13 19:01:43.436: I/System.out(2509):  at com.sun.mail.smtp.SMTPTransport.mailFrom(SMTPTransport.java:1054) 
10-13 19:01:43.444: I/System.out(2509):  at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:634) 
10-13 19:01:43.444: I/System.out(2509):  at com.example.firmaclientes.EmailSender.EnviandoMail(EmailSender.java:94) 
10-13 19:01:43.444: I/System.out(2509):  at com.example.firmaclientes.MainActivity$AsyncMAIL.doInBackground(MainActivity.java:694) 
10-13 19:01:43.444: I/System.out(2509):  at com.example.firmaclientes.MainActivity$AsyncMAIL.doInBackground(MainActivity.java:1) 
10-13 19:01:43.444: I/System.out(2509):  at android.os.AsyncTask$2.call(AsyncTask.java:287) 
10-13 19:01:43.444: I/System.out(2509):  at java.util.concurrent.FutureTask.run(FutureTask.java:234) 
10-13 19:01:43.455: I/System.out(2509):  at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230) 
10-13 19:01:43.455: I/System.out(2509):  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080) 
10-13 19:01:43.455: I/System.out(2509):  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573) 
10-13 19:01:43.455: I/System.out(2509):  at java.lang.Thread.run(Thread.java:841) 
10-13 19:01:43.465: E/ERROR ENVIANDO:(2509): [EOF]javax.mail.MessagingException: [EOF] 

ответ

0

Я понятия не имею, что это такое.

Но, похоже, что ваш сервер не поддерживает STARTTLS. Для начала вам может понадобиться установить SSL-соединение. Избавьтесь от всех применений «25» и установите «mail.smtp.ssl.enable» в «true».

Избавьтесь от настройки mail.smtp.auth и измените соединение, чтобы указать имя пользователя и пароль.

И upgrade your version of JavaMail если можно!

Если это все еще не работает, отправьте новый вывод отладки.

+0

Если я включаю mail.smtp.ssl.enable, я получаю сообщение об ошибке и не подключается ... Мой домен - это домен Office 365, я не знаю, может быть, это что-то с этим связано? –

+0

Какая ошибка у вас получается? Очень маловероятно, что сервер не поддерживает STARTTLS ** и ** не прослушивает порт SSL. Возможно, Office 365 похож на почту Windows Live? Вы можете использовать программу [msgshow.java sample program] (https://java.net/projects/javamail/pages/Home#Samples) и [эту запись в FAQ по JavaMail] (http://www.oracle.com/ technetwork/java/javamail/faq/index.html # hotmail), чтобы узнать, можете ли вы работать с базовыми подключениями. –

+0

Обновление и удаление SSL-соединения исправили проблему, я думаю, что ошибки, которые я получал, были связаны с версией, которую я использовал. Кроме того, оказывается, мне пришлось использовать SMTP office365 вместо того, который я опубликовал. –