2013-02-13 2 views
1

Я пытаюсь разработать приложение для Android, которое берет у пользователя имя пользователя и пароль и проверяет его учетные данные против почтового сервера. Мне просто нужно отправить комбинацию имени пользователя и пароля на почтовый сервер, и если сервер примет, то мое приложение рассмотрит возможность аутентификации пользователя.Войдите в SMTP-сервер с Apache Commons Net

Я пробовал использовать Javamail, но, видимо, он не ладит с dalvik. Кто-то предложил мне попробовать использовать Apache Commons, но я не могу понять, как заставить его делать то, что мне нужно.

Если у кого-то есть идеи, я очень благодарен за помощь!

Сервер, к которому я подключаюсь, использует IMAP/SMTP, кстати.

Update: Вот код, который я использую, чтобы сделать соединять

client = new AuthenticatingSMTPClient(); 
client.addProtocolCommandListener(new PrintCommandListener(new PrintWriter(System.out), true)); 
client.connect(HOST, PORT); 
client.login(); 
client.execTLS(); 
client.auth(AuthenticatingSMTPClient.AUTH_METHOD.PLAIN,user,pword); 

И ответ сервера:

220 pod51000.outlook.com Microsoft ESMTP MAIL Service ready at Thu, 14 Feb 2013 18:52:33 +0000 
HELO 10.71.12.99 
250 pod51000.outlook.com Hello [66.76.192.214] 
STARTTLS 
220 2.0.0 SMTP server ready 
AUTH PLAIN 
503 5.5.2 Send hello first 

Я никогда не приходилось делать ничего подобного, поэтому мне просто нужно немного ориентироваться на такие вещи, как, например, отправить «Привет», что еще ожидает сервер и т. д.

+0

Вам нужно это: http://commons.apache.org/net/api-3.2/org/apache/commons/net/smtp/package-summary. html - В чем проблема, с которой вы столкнулись? – 323go

ответ

0

Решил! Добавлен client.helo() перед аутентификацией и прекрасно работает

Смежные вопросы