AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Программирование
NAV
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 04.10.2008, 07:00   #1  
Himan is offline
Himan
Участник
Аватар для Himan
 
312 / 12 (1) ++
Регистрация: 07.11.2006
Адрес: Tumen
Thumbs up
Доброе время суток...
Подскажите как правильнее сделать отправку писем по электронной почте...
Заранее благодарю
__________________
Рабочий день сокращает жизнь на 8 часов
Старый 04.10.2008, 10:16   #2  
apanko is offline
apanko
MCTS
MCBMSS
Лучший по профессии 2009
 
1,164 / 139 (7) +++++
Регистрация: 24.02.2005
Вам какой:

*через компоненту jmail (очень хорошие примеры приведены здесь Работа с почтой (аттачменты)).

* CDO (в качестве примера можно посмотреть кодеюнит 5064 e-mail - logging, возможно он под другое ориентирован. Еще есть пример здесь - только про отправку
http://forum.mazzy.ru/index.php?show...ndpost&p=18649).

* еще граждане ругают кодеюнит 397.

*В версии 5.0 можно применять кодеюнит 400 SMTP Mail. Для работы надо всего-то настроить smtp сервер и указать правила авторизации (Администрирование/ Управление ИТ/ Общая Настройка/ Настройка Эл. Почты (smtp))
Заполняем настройки - smtp сервер, так как нынче спамеров много, то еще указываем аутентификация = базовая, код пользователя и пароль (пароль кстати звездочками не шифруется, так, что использовать лучше специальный под такие дела ящик).

Далее пишем такой код в нужном месте:

Код:cumail.CreateMessage('Ivanov Ivan','ivanov@domen.ru','receiver@email.ru','Hello - тема','Body - тело письма',FALSE); cumail.Send;
Уходит почти всегда.
Почти - это если smtp сервер на mail.ru, и отправитель (
ivanov@domen.ru) не совпадает с пользователем mail.ru через которого выполняется отправка.

Цитата:Система передачи эл. почты по протоколу SMTP вернула следующую ошибку: (0x8004020E): Сервер отклонил адрес отправителя. Отклик сервера: 501 sender address must match authenticated user
Т.е. варианта два:
1. взять другой smtp, для которого нет такой проверки.
2. подписываться правильным адресом. Если для рассылки завести отдельный ящик - то логично его и указывать.
Зависит от того, что хочется получить на выходе.
За это сообщение автора поблагодарили: mira (1).
Старый 05.11.2008, 21:51   #3  
Himan is offline
Himan
Участник
Аватар для Himan
 
312 / 12 (1) ++
Регистрация: 07.11.2006
Адрес: Tumen
2 apanko спасибо за подсказку, ответ полней некуда...

Интересно как второй вариант с Vista живет...
Надо протестировать...
__________________
Рабочий день сокращает жизнь на 8 часов
Старый 23.10.2009, 17:27   #4  
Yakuza is offline
Yakuza
Участник
 
124 / 10 (1) +
Регистрация: 26.10.2004
Помогите с таким же вопросом, но для версии 2.0 и ниже. Сейчас реализована отправка почты посредством внешней смописанной программы на Дельфи, которая обращается к базе через ODBC драйвер и строит письмо из таблицы с текстом. Периодически по шедулеру это делается, но хочется иметь это в самом Navision и сразу по событию. А то так работает очень криво, иногда возникают ошибки программы.
Старый 26.10.2009, 12:22   #5  
Yakuza is offline
Yakuza
Участник
 
124 / 10 (1) +
Регистрация: 26.10.2004
Решился вопрос с помощью jMail и советов с форума. Теперь новая задача: сообщение может быть только 250 символов максимум... А надо больше, гораздо больше.
Старый 26.10.2009, 13:51   #6  
Sancho is offline
Sancho
Administrator
Аватар для Sancho
Лучший по профессии 2017
Лучший по профессии 2009
 
1,294 / 221 (10) ++++++
Регистрация: 11.01.2006
сшивайте непосредственное при выводе
или заведите переменную в 1024, набейте в нее, выводите ее
Старый 26.10.2009, 15:04   #7  
Yakuza is offline
Yakuza
Участник
 
124 / 10 (1) +
Регистрация: 26.10.2004
Цитата:
Сообщение от Sancho Посмотреть сообщение
сшивайте непосредственное при выводе
или заведите переменную в 1024, набейте в нее, выводите ее
Во второй версии переменные могут быть размером максимум 250. Ну да ладно, видимо придется запихивать всю процедуру отсылки везде где можно. Хотел отдельным кодеюнитом написать, но очень как-то гиморно получается кусками текст процедуре отдавать.
Старый 26.10.2009, 16:29   #8  
Sancho is offline
Sancho
Administrator
Аватар для Sancho
Лучший по профессии 2017
Лучший по профессии 2009
 
1,294 / 221 (10) ++++++
Регистрация: 11.01.2006
Цитата:
Сообщение от Yakuza Посмотреть сообщение
Во второй версии переменные могут быть размером максимум 250.
опс
забыл
сорри
Старый 26.10.2009, 22:55   #9  
Sancho is offline
Sancho
Administrator
Аватар для Sancho
Лучший по профессии 2017
Лучший по профессии 2009
 
1,294 / 221 (10) ++++++
Регистрация: 11.01.2006
пришла мысль.
если длинных текстовых переменных еще нет, то массив из коротких уже есть?
это дополнительный геморрой, но должно сработать.

даже если массива еще нет, то можно воспользоваться временной табличкой...

там правда траблы могут быть с пробелами: если строка оканчивается на пробел, то пробел будет утерян посде вставки
Старый 27.10.2009, 10:32   #10  
Yakuza is offline
Yakuza
Участник
 
124 / 10 (1) +
Регистрация: 26.10.2004
Цитата:
Сообщение от Sancho Посмотреть сообщение
пришла мысль.
если длинных текстовых переменных еще нет, то массив из коротких уже есть?
это дополнительный геморрой, но должно сработать.

даже если массива еще нет, то можно воспользоваться временной табличкой...

там правда траблы могут быть с пробелами: если строка оканчивается на пробел, то пробел будет утерян посде вставки
Может сработать. Возникла еще одна идея, выводить текст письма в файл, а затем передавать jMailу его для отправки. Вообщем, варинаты есть, буду пробовать.
Старый 27.10.2009, 14:50   #11  
Storkich is offline
Storkich
Участник
 
149 / 10 (1) +
Регистрация: 08.03.2007
Вот .vbs файл, можно генерить из нава и отправлять
Код:
Set objEmail = WScript.CreateObject("CDO.Message")  'Create CDO-object and get link on it into objEmail (var) 
'''''''''''''''''''''''''''''''''''''''''''''''''''' 
' Required parameters of CDO-object 
'''''''''''''''''''''''''''''''''''''''''''''''''''' 
objEmail.From = "robot@Sercer.ru"                         'Sender (mine) address 
objEmail.To = "DPugaev@Server.ru"                                     'Address of recipient or distribution list 
'objEmail.BCC = "DPugaev@Server.ru"                             'Hide copy recipient address 
objEmail.Subject = "Field Management Report "      'Subject of message 
objEmail.TextBody = "Body"                                  'Message Text 
objEmail.BodyPart.Charset = "windows-1251"                    'Cyrillic encoding 

'Sending message using SMTP-service (1 - using of local SMTP-service) 
objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 
'Name of SMTP-server 
objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.server.ru" 
objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 2
objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "" 
objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = ""
'objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25  'Port of SMTP-server 
objEmail.Configuration.Fields.Update           'Update configuration of CDO-object 
objEmail.Send    'Sending of message by using Send-method
Старый 21.05.2010, 12:31   #12  
kgenius is offline
kgenius
Участник
 
98 / 10 (1) +
Регистрация: 27.10.2004
А правильно я понимаю, что штатный механизм отправки документов (например кредит-нот) на EMail, между 3 и 5 версиями Navision, не изменился!? Файл->Отправить->Отчет по-Email. Никаких новых средств не появилось!?
Старый 25.05.2010, 17:23   #13  
kgenius is offline
kgenius
Участник
 
98 / 10 (1) +
Регистрация: 27.10.2004
И еще вопрос. При формировании файла (Nav5 Outlook2003) HTML, с последующим присоединением к письму, в HTML явно ползут таблицы, т.е. отображается криво. Есть ли варианты решения?
Старый 25.05.2010, 19:37   #14  
dmg is offline
dmg
Участник
 
1 / 10 (1) +
Регистрация: 25.05.2010
Извените за вмешательство, но вопрос как мне кажется по теме.
Написан код:

IF SalesPurch."E-Mail" <> '' THEN BEGIN
CREATE(OutlookApp);
OutlookItem := OutlookApp.CreateItem(0);
OutlookItem."To"(SalesPurch."E-Mail");
text1 := Text000+' '+FORMAT("No.")+'"'+'!';
OutlookItem.Subject(text1);
OutlookItem.Body('');
OutlookItem.Send;
CLEAR(OutlookApp);
END ELSE BEGIN
MESSAGE(Text001, SalesPurch.Name);
END;

где OutlookApp - 'Microsoft Outlook 12.0 Object Library'.Application
OutlookItem - 'Microsoft Outlook 12.0 Object Library'.MailItem

Собственно вопрос: периодически у разных клиентов падает приложение при открытом Outlook. Причем Nav все делает (выполняет весь код, отправляет сообщение), а потом без выдачи какой-либо ошибки падает. Может кто сталкивался?
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 14:59.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.