Проблемы с Smtp
Что нужно передавать как аргумент команде ХЕЛО?
по моему в ХЕЛО надо писать только имя хоста. почитай РФЦ...
А где его можна почитать?
И еще... Как пройти авторизацию на сервере?
RFC -- это стандарты протоколов и всего такого, одним словом доки в которых расписаны все форматы и прочие детали, поищи в гугле что нибудь типа SMTP protocol RFC
а что значит пройти авторизацию на сервере ? на каком сервере? для чего авторизация ?
Команда ХЕЛО прошла успешно, потом "Мейл фром" тоже нормально, потом "РСПТ ТО" тоже хорошо. А вот когда отправляю ДАТА, выдает сообщение, что для отсылки сообщения нужна авторизация...
"503 Administrative prohibition -- authorization required. Users in your domain are not allowed to send email without authorization. See http://www.mail.ru/pages/help/261.html for details."
ну да логично иначе можно былобы отправлять письма от именю любого человека... почитай в рфц там это должно быть
Перерыл РФЦ: и стандарт и дополнение 2554, в котором стандартизируется аутентификация - определена команда AUTH. Но там еще есть пару слов о методах аутентификации, как я понял у меня "Обычный текст", "Дайджест" и еще один метод...Но очень запутано. Ничего не понял.
Кто знает, может черкнуть пару строк о том кае ее использовать или хотябы пример с какими-то обьяснениями... Буду очень благодарен.
Что мне нужно посылать для команды АУТХ?
а в РФЦ ето не написано ?
Нет. Там просто написано, что есть команда. Но что писать в параметр для этой команды, я не нашел. Может глаза криво смотрят, но я этого не нашел...
Я так понимаю, что надо писать логин и пароль в зашифрованном виде. Шифруется base64. Шифрую. передаю. Пишет ошибку, типа неверные данные...
Что передавать как параметры, в каком формате и какой последовательности?
ты точно читал РФЦ? скажи хоть какой код ошибки возвращается и на каком шаге
и вобще лучше детально опиши что ты посылаешь на серв. и что получаешь оттуда...
Подключаюсь к СМТП серву.
Ответ 220. Нормально.
Посылаю команду
EHLO inbox.ru
Ответ 250. Нормально. Притом пишет: 250-AUTH PLAIN LOGIN
Я ему:
AUTH PLAIN
Ответ 334. Тоже, как я понял, нормальный, ожидает ввода данных для аутентификации.
Ввожу данные в формате base64. Ответ 535 - некорректные данные аутентификации.
Что нужно вводить?
вот с этого и нада было начинать. Не используй плаин -- я сам не врубился как оно работет. используй ЛОГИН, т.е:
EHLO aaa
>> AUTH PLAIN LOGIN
AUTH LOGIN
>> 334 shjshdj..
(base64-encoded login)
>> 334 hjdfjksdjk
(base64-encoded password)
>>AUthorization successfull
Ура! Вы наконец-таки асилили это :) Забавно было читать как один пытается описать другому то, что ни он, ни другой не до конца не понимают. Ладно, не обижайтесь, это дело наживное.
Наверное теперь возникнут вопросы по строчке:
(base64-encoded login)
Думаю уже догадался - гугл поможет без проблем. Учти, что если ты пересылаешь не только английские символы, то придется перекодировать всё сообщение в base64.
По поводу RFC - хороший сайт protocols.ru - полно pdf-ов с описанием протоколов.
Ура! Вы наконец-таки асилили это :) Забавно было читать как один пытается описать другому то, что ни он, ни другой не до конца не понимают. Ладно, не обижайтесь, это дело наживное.
Наверное теперь возникнут вопросы по строчке:
(base64-encoded login)
Думаю уже догадался - гугл поможет без проблем. Учти, что если ты пересылаешь не только английские символы, то придется перекодировать всё сообщение в base64.
По поводу RFC - хороший сайт protocols.ru - полно pdf-ов с описанием протоколов.
Да, за ссылочку спасибо.
Ведь все мы стыкаемся с чем-то впервые. Вот и я писал раньше многопоточные приложения, писал и для сети, а вот с почтовыми протоколами (как и многими другими) дела не имел. Вот и появилась проблема.
Я вообще не сторонник задавать вопросы типа "покажите как сделать?", больше люблю "где прочитать?", но в данном случае...
Спасибо за помощь...
Я использую сейчас только один сервер. На нем AUTH PLAIN LOGIN. Но я видел на других серверах и другие, как я понял, способы авторизации. Например, на Яху я даже ЗеБет! настроить не могу. Посмотрел - там вообще авторизация какая-то левая.
Как авторизироваться на других серверах (AUTH DIGEST** типа и т.п.)? Где это можно посмотреть? На протоколы.ру я этого не нашел...