J'utilise cet exemple de code:Envoyer courriel donne SSLProtocolException
http://www.jondev.net/articles/Sending_Emails_without_User_Intervention_%28no_Intents%29_in_Android
Je suis en train d'utiliser mon email de serveur pour envoyer des courriels sans intention sur Android.
Je sais que l'exemple est configuré pour fonctionner uniquement avec Gmail.
J'ai changé:
_host = "smtp.myserver.com"; // default smtp server
_port = "587"; // default smtp port
_sport = "587"; // default socketfactory port
et ceci sur MainActivity:
Mail m = new Mail("[email protected]", "password"); //to my sever email
Je viens de mettre la bonne information sur Outlook, et il fonctionne, je pourrais envoyer et recevoir de cet e-mail.
Server allow cette configuration:
POP3 SMTP IMAP WebMail Mobile/PDA
Question:
Je dois ajouter/changer quelque chose de plus? Ou cet exemple ne peut pas fonctionner avec d'autres gmail.
J'ai eu cette erreur sur Logcat:
01-31 21:07:08.989: E/MailApp(17094): Could not send email
01-31 21:07:08.989: E/MailApp(17094): javax.mail.MessagingException: Could not connect to SMTP host: smtp.semhora.com, port: 587;
01-31 21:07:08.989: E/MailApp(17094): nested exception is:
01-31 21:07:08.989: E/MailApp(17094): javax.net.ssl.SSLProtocolException: SSL handshake aborted: ssl=0x1e4490: Failure in SSL library, usually a protocol error
01-31 21:07:08.989: E/MailApp(17094): error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol (external/openssl/ssl/s23_clnt.c:683 0xad12957d:0x00000000)
01-31 21:07:08.989: E/MailApp(17094): at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1391)
01-31 21:07:08.989: E/MailApp(17094): at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:412)
01-31 21:07:08.989: E/MailApp(17094): at javax.mail.Service.connect(Service.java:310)
01-31 21:07:08.989: E/MailApp(17094): at javax.mail.Service.connect(Service.java:169)
01-31 21:07:08.989: E/MailApp(17094): at javax.mail.Service.connect(Service.java:118)
01-31 21:07:08.989: E/MailApp(17094): at javax.mail.Transport.send0(Transport.java:188)
01-31 21:07:08.989: E/MailApp(17094): at javax.mail.Transport.send(Transport.java:118)
01-31 21:07:08.989: E/MailApp(17094): at com.example.sendemailtester.Mail.send(Mail.java:102)
01-31 21:07:08.989: E/MailApp(17094): at com.example.sendemailtester.MainActivity$1.onClick(MainActivity.java:33)
01-31 21:07:08.989: E/MailApp(17094): at android.view.View.performClick(View.java:2485)
01-31 21:07:08.989: E/MailApp(17094): at android.view.View$PerformClick.run(View.java:9080)
01-31 21:07:08.989: E/MailApp(17094): at android.os.Handler.handleCallback(Handler.java:587)
01-31 21:07:08.989: E/MailApp(17094): at android.os.Handler.dispatchMessage(Handler.java:92)
01-31 21:07:08.989: E/MailApp(17094): at android.os.Looper.loop(Looper.java:130)
01-31 21:07:08.989: E/MailApp(17094): at android.app.ActivityThread.main(ActivityThread.java:3687)
01-31 21:07:08.989: E/MailApp(17094): at java.lang.reflect.Method.invokeNative(Native Method)
01-31 21:07:08.989: E/MailApp(17094): at java.lang.reflect.Method.invoke(Method.java:507)
01-31 21:07:08.989: E/MailApp(17094): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
01-31 21:07:08.989: E/MailApp(17094): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
01-31 21:07:08.989: E/MailApp(17094): at dalvik.system.NativeStart.main(Native Method)
01-31 21:07:08.989: E/MailApp(17094): Caused by: javax.net.ssl.SSLProtocolException: SSL handshake aborted: ssl=0x1e4490: Failure in SSL library, usually a protocol error
Si je fais cela, j'ai: 01-31 21: 31: 22.989: E/MailApp (18069): com.sun.mail.smtp.SMTPSendFailedException: 550 5.7.1 Accès refusé 01-31 21:31 : 22.989: E/MailApp (18069): \t at com.sun.mail.smtp.SMTPTransport.issueSendCommand (SMTPTransport.java:1515) – Marckaraujo
Le serveur SMTP auquel vous vous connectez est-il configuré pour vous permettre de relayer le courrier? Un accès refusé 550 5.7.1 signifie que votre code a bien été connecté au serveur SMTP, mais que le serveur vous a refusé. –
Je ne sais pas, si je peux utiliser cet e-mail avec Outlook, cela signifie qu'il autorise le courrier relais à travers elle ou cela ne signifie rien? – Marckaraujo