|
25.07.2009, 02:44
|
#1
|
Мастер
Регистрация: 06.09.2007
Адрес: Донецк, ДНР
Сообщений: 1,023
Написано 298 полезных сообщений (для 713 пользователей)
|
Lib_smtp2 - Отправка почты с авторизацией
По просьбе AVIZO выкладываю переделанную версию библиотеки LIb_smtp.
Функции:
account(string login, string passwd) - Задать имя и пароль для доступа к серверу
login - имя пользователя
passwd - пароль
auth_mode(int i)
0 - сервер не требует авторизации
1 - использовать авторизацию (через имя и пароль, указанный функцией account)
integer send(string smtp, int port, string from, string to, string subject, string msg) - Отправить письмо
smtp - адрес почтового SMTP сервера
port - порт SMTP сервера (обычно 25, но бывает и другой)
from - от кого письмо (многие сервера не пропускают письма если FROM отличается от логина на сервер)
to - адрес получателя письма
subject - тема (заголовок) письма
msg - сам текст письма
Возвращает 1 - всё ОК или 0 - какая-то ошибка
Простейший пример для сервера MAIL.RU (остальные - аналогично):
Program SMTP2test; Uses smtp2; Var i: integer; from, to, subj, text: string; Begin smtp2.account('lib_test', '123456'); // Логин и пароль от MAIL.RU ящика smtp2.auth_mode(1); // 1 - значит, что SMTP сервер требует авторизации from:='[email protected]'; // от кого to:='[email protected]'; // кому subj:='Test msg'; // Тема письма text:='Hi there! Привет!'; // Текст письма i:=smtp2.send('smtp.mail.ru', 2525, from, to, subj, text); if (i=1) DrawText('Отправлено', 5, 5); else DrawText('Ошибка отправки', 5, 5); Repaint; Delay(5000); End.
Последний раз редактировалось odd, 25.07.2009 в 20:46.
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо odd за это полезное сообщение:
|
|
26.07.2009, 13:05
|
#2
|
Нуждающийся
Регистрация: 16.11.2006
Сообщений: 56
Написано 9 полезных сообщений (для 29 пользователей)
|
Ответ: Lib_smtp2 - Отправка почты с авторизацией
Есть проблема - не могу отправить именно с трубы. С компа (на эмуляторе) уходит, с мобилы, подключенной к компу то-же. А вот с мобилы через ЖПРС не хочет. ЖПРС настроен и проверен. Прога выдает инфу, что все путем, а письмо на адресат не приходит. Оператор - МТС Украина, трубка - Motorolla MPx200, WinMobile 6.1
|
(Offline)
|
|
27.07.2009, 02:22
|
#3
|
Мастер
Регистрация: 06.09.2007
Адрес: Донецк, ДНР
Сообщений: 1,023
Написано 298 полезных сообщений (для 713 пользователей)
|
Ответ: Lib_smtp2 - Отправка почты с авторизацией
Ладно, потестирую. Может узнаю в чем проблема.
|
(Offline)
|
|
27.07.2009, 12:22
|
#5
|
Нуждающийся
Регистрация: 16.11.2006
Сообщений: 56
Написано 9 полезных сообщений (для 29 пользователей)
|
Ответ: Lib_smtp2 - Отправка почты с авторизацией
А можно тогда какой-нибудь работающий способ отправить с трубы данные?
|
(Offline)
|
|
27.07.2009, 18:49
|
#6
|
Мастер
Регистрация: 06.09.2007
Адрес: Донецк, ДНР
Сообщений: 1,023
Написано 298 полезных сообщений (для 713 пользователей)
|
Ответ: Lib_smtp2 - Отправка почты с авторизацией
Уже нашел в чем была проблема.
Просто данные выпуливались слишком быстро и SMTP сервер не успевал их разбирать. Добавление простой паузы решило всю проблему.
Тестировал на таком примере:
Program SMTP2test; Uses smtp2; Var i: integer; from, rcpt, subj, text : string; Begin ShowForm; i:=FormAddString('Начинаем отправку письма...'); smtp2.account('lib_test', '123456'); // Логин и пароль от MAIL.RU ящика smtp2.auth_mode(1); // 1 - значит, что SMTP сервер требует авторизации smtp2.set_pause(500); // Пауза при ожидании ответа от сервера from:='[email protected]'; // От кого rcpt:='[email protected]'; // Кому subj:='Test msg'; // Заголовок письма text:='Hi there! Hello dolly! Kisa kuku!'; // Тело письма i:=smtp2.send('smtp.mail.ru', 2525, from, rcpt, subj, text); // Высылаем Repaint; Delay(-1); End.
Как видно из исходника, за ходом отправки теперь можно наблюдать из режима форм.
|
(Offline)
|
|
Эти 3 пользователя(ей) сказали Спасибо odd за это полезное сообщение:
|
|
28.07.2009, 01:51
|
#7
|
Нуждающийся
Регистрация: 16.11.2006
Сообщений: 56
Написано 9 полезных сообщений (для 29 пользователей)
|
Ответ: Lib_smtp2 - Отправка почты с авторизацией
Не работает и с этим вариантом
Попробую на другой трубе.
|
(Offline)
|
|
28.07.2009, 13:52
|
#8
|
Нуждающийся
Регистрация: 16.11.2006
Сообщений: 56
Написано 9 полезных сообщений (для 29 пользователей)
|
Ответ: Lib_smtp2 - Отправка почты с авторизацией
Все работает!!! Огромное спасибо odd-у.
ЗЫ: Ненавижу связь от МТС!
|
(Offline)
|
|
29.07.2009, 16:27
|
#9
|
Мастер
Регистрация: 06.09.2007
Адрес: Донецк, ДНР
Сообщений: 1,023
Написано 298 полезных сообщений (для 713 пользователей)
|
Ответ: Lib_smtp2 - Отправка почты с авторизацией
Да просто поиграй с величиной паузы.
Должно прокатить для любого оператора.
|
(Offline)
|
|
05.08.2009, 23:09
|
#10
|
Разработчик
Регистрация: 16.08.2008
Адрес: Нижегородская провинция
Сообщений: 389
Написано 48 полезных сообщений (для 93 пользователей)
|
Ответ: Lib_smtp2 - Отправка почты с авторизацией
Сообщение от odd
Да просто поиграй с величиной паузы.
Должно прокатить для любого оператора.
|
Мегафон Центр и Билайн smtp2.set_pause(1000); // Пауза при ожидании ответа от сервера сервер smtp.bk.ru .
__________________
- Это мы накодили WINDOWS,
- Это мы надкусили APPLE,
- Нам играют живые The Beatles
- И нестареющий Вова Высоцкий...
|
(Offline)
|
|
17.08.2009, 23:19
|
#11
|
Нуждающийся
Регистрация: 30.07.2009
Сообщений: 61
Написано одно полезное сообщение
|
Ответ: Lib_smtp2 - Отправка почты с авторизацией
У меня симка уральского МТС и Vodafone. На обеих пашет. Odd, те респект.
__________________
Дави лыбу, ибо сие есть хорошо!
|
(Offline)
|
|
10.10.2010, 22:49
|
#12
|
AnyKey`щик
Регистрация: 30.09.2009
Сообщений: 1
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Lib_smtp2 - Отправка почты с авторизацией
Подскажите как отправить текст написанный на русском языке? приходит не понятно что.
|
(Offline)
|
|
15.10.2010, 13:09
|
#13
|
AnyKey`щик
Регистрация: 07.10.2010
Адрес: Ставрополь
Сообщений: 19
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Lib_smtp2 - Отправка почты с авторизацией
у меня так вобще даже не отправляет я все варианты перепробывал. МТС СЕВЕРНЫЙ-КАВКАЗ
__________________
Пытаюсь сделать не большую игрушку на unity3d
|
(Offline)
|
|
28.08.2011, 20:50
|
#14
|
Знающий
Регистрация: 14.05.2010
Сообщений: 297
Написано 13 полезных сообщений (для 13 пользователей)
|
Ответ: Lib_smtp2 - Отправка почты с авторизацией
Ну как отправить русское письмо???
__________________
G502, GT S5230w user!
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 11:45.
|