![]() |
![]() |
![]() |
|
SMTP error code 501, 5.1.3 Bad recipient address syntax | ☑ | ||
---|---|---|---|---|
0
Ksandr
17.05.11
✎
11:43
|
Не получается отправить сообщение, ошибка такая:
Ошибка при вызове метода контекста (Послать): Неверный синтаксис команды. Возможно ошибка в написании почтового адреса (SMTP error code 501, 5.1.3 Bad recipient address syntax) ИнтернетПочта.Послать(Сообщение); по причине: Неверный синтаксис команды. Возможно ошибка в написании почтового адреса (SMTP error code 501, 5.1.3 Bad recipient address syntax) как лечить? кодировка адресов: US-ASCII адреса вида "<blabla@bla.bl>" только без ковычек |
|||
1
ДенисЧ
17.05.11
✎
11:52
|
и адрес в <> ?
|
|||
2
shuhard
17.05.11
✎
11:57
|
(0) отправь письмо telnet-ом
|
|||
3
smaharbA
17.05.11
✎
11:59
|
(1) это какбы должно быть, вот только не знаю, может ИнтернетПочта сама вставляет, тогда конечно будет ошибка
|
|||
4
Ksandr
18.05.11
✎
10:52
|
а нет ли у кого куска кода, который действенно работает на яндекс или рамблер почте?
|
|||
5
smaharbA
18.05.11
✎
11:45
|
на яндек нужно парольно отправлять
|
|||
6
Ksandr
18.05.11
✎
11:48
|
(5) это как?
|
|||
7
Ksandr
18.05.11
✎
13:46
|
уже что только не пробовал. не работает и все тут
|
|||
8
Ksandr
18.05.11
✎
13:47
|
Код:
Функция СоздатьСообщение(Получатели, Отправитель, Тема, ТелоПисьма, Вложения = Неопределено, Копии = Неопределено, СлепыеКопии=Неопределено) Экспорт Сообщение = Новый ИнтернетПочтовоеСообщение; Если ТипЗнч(Получатели) = Тип("Строка") Тогда МассивПолучатели = ОбщегоНазначения.РазложитьСтрокуВМассивПодстрок(Получатели, ";"); Иначе МассивПолучатели = Получатели; КонецЕсли; Для Каждого Элемент Из МассивПолучатели Цикл Получатель = Сообщение.Получатели.Добавить(Элемент); Получатель.ОтображаемоеИмя = "Кунин Александр"; КонецЦикла; Сообщение.Отправитель = Отправитель; ТекПользователь = глЗначениеПеременной("глТекущийПользователь"); Сообщение.ИмяОтправителя = ТекПользователь; Сообщение.Тема = Тема; Текст = Сообщение.Тексты.Добавить(ТелоПисьма); Если Вложения <> Неопределено Тогда Если ТипЗнч(Вложения) = Тип("Строка") Тогда Сообщение.Вложения.Добавить(Вложения); ИначеЕсли ТипЗнч(Вложения) = Тип("Массив") Тогда Для Каждого Элемент Из Вложения Цикл Сообщение.Вложения.Добавить(Элемент); КонецЦикла; КонецЕсли; КонецЕсли; Если Копии <> Неопределено Тогда Если ТипЗнч(Копии) = Тип("Строка") Тогда МассивКопии = ОбщегоНазначения.РазложитьСтрокуВМассивПодстрок(Копии, ";"); Иначе МассивКопии = Копии; КонецЕсли; Для Каждого Элемент Из МассивКопии Цикл Сообщение.Копии.Добавить(Элемент); КонецЦикла; КонецЕсли; Если СлепыеКопии <> Неопределено Тогда Если ТипЗнч(СлепыеКопии) = Тип("Строка") Тогда МассивСлепыеКопии = ОбщегоНазначения.РазложитьСтрокуВМассивПодстрок(СлепыеКопии, ";"); Иначе МассивСлепыеКопии = СлепыеКопии; КонецЕсли; Для Каждого Элемент Из МассивСлепыеКопии Цикл Сообщение.СлепыеКопии.Добавить(Элемент); КонецЦикла; КонецЕсли; Возврат Сообщение; КонецФункции Процедура ОтправитьСообщение(Сообщение, ПараметрыОтправки = Неопределено) Экспорт ИнтернетПочтовыйПрофиль = Новый ИнтернетПочтовыйПрофиль; ИнтернетПочтовыйПрофиль.АдресСервераSMTP = "smtp.yandex.ru"; ИнтернетПочтовыйПрофиль.Пользователь = ""; ИнтернетПочтовыйПрофиль.Пароль = ""; ИнтернетПочтовыйПрофиль.АутентификацияSMTP = СпособSMTPАутентификации.ПоУмолчанию; ИнтернетПочтовыйПрофиль.ПользовательSMTP = ""; ИнтернетПочтовыйПрофиль.ПарольSMTP = ""; ИнтернетПочта = Новый ИнтернетПочта; Попытка ИнтернетПочта.Подключиться(ИнтернетПочтовыйПрофиль); Исключение Сообщить(ОписаниеОшибки()); Возврат; КонецПопытки; ИнтернетПочта.Послать(Сообщение); ИнтернетПочта.Отключиться(); КонецПроцедуры |
|||
9
Amra
18.05.11
✎
13:48
|
Есть работающий код с меил.ру, думаю для рамблера и яндекса все тоже самое
|
|||
10
Ksandr
18.05.11
✎
13:49
|
(9) поделись, пожалуйста
|
|||
11
smaharbA
18.05.11
✎
13:49
|
на яндекс смтп сервер требует авторизацию такую же как на прием
как это будет в восьмерке представления не имею и выкинь из адресов знаки больше/меньше, они скорее всего подставляются и так объектом |
|||
12
Amra
18.05.11
✎
13:50
|
(8) А где в коде создания сообщения указываешь адресс отправителя?
|
|||
13
Ksandr
18.05.11
✎
13:53
|
(12)
Сообщение.Отправитель = Отправитель; ТекПользователь = глЗначениеПеременной("глТекущийПользователь"); Сообщение.ИмяОтправителя = ТекПользователь; |
|||
14
Amra
18.05.11
✎
13:55
|
Что в переменной "отправитель"? Попробуй жестко прописать
Сообщение.Отправитель.Адрес="blabla@bla.bl"; |
|||
15
Ksandr
18.05.11
✎
13:59
|
(14) ничего не меняется.
Вопрос в том, что ругается на bad recipient adress syntax, т.е. на адрес получателя |
|||
16
Ksandr
18.05.11
✎
14:02
|
||||
17
Amra
18.05.11
✎
14:10
|
А что в Сообщение.Получатели[0]?
|
|||
18
smaharbA
18.05.11
✎
14:20
|
какого они в кавычках ?
или это просто форма так сделана ? |
|||
19
Ksandr
18.05.11
✎
14:38
|
(18) т.к. тип строковый.
(17) http://s015.radikal.ru/i333/1105/a6/624ba3fab883.png |
|||
20
Amra
18.05.11
✎
14:55
|
(19) Странно, вроде все ок
|
|||
21
Ksandr
18.05.11
✎
15:21
|
ап
|
|||
22
Ksandr
18.05.11
✎
17:51
|
Внимание! Правильный ответ:
когда в копии и скрытые копии передавались пустые строки тогда создавался массив с элементом "" - пустая строка и этот адрес (пустая строка), добавлялся в список копий и скрытых копий и как следствие почтовые сервера ругались на Bad recipient address syntax. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |