Гость
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Punycode / 8 сообщений из 8, страница 1 из 1
12.02.2020, 09:05
    #39925472
max44
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Punycode
Добрый день.

Cтолкнулся с проблемой отправки почты через компоненту Database Mail на адреса с кириллицей в домене (например: @привет.рф)

SQL Server 2014 Standart

Кто может поделиться готовым решение (алгоритмом) декодировки Punycode на T-SQL?
...
Рейтинг: 0 / 0
12.02.2020, 12:18
    #39925569
Критик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Punycode
max44,

Сервер так и пишет "проблема отправки" или выдает ошибку?
...
Рейтинг: 0 / 0
12.02.2020, 12:46
    #39925589
max44
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Punycode
Код: sql
1.
2.
3.
4.
5.
6.
EXEC msdb.dbo.sp_send_dbmail  
    	        @profile_name = 'InfoSystem'
	      , @recipients ='test@привет.рф'
	      , @subject = 'test'
	      , @body = 'tets'
	      , @body_format='HTML'



ошибка из [msdb].[dbo].[sysmail_log]:
Код: sql
1.
2.
The mail could not be sent to the recipients because of the mail server failure. (Sending Mail using Account 1 (2020-02-12T12:37:09). Exception Message: Cannot send mails to mail server. (A recipient must be specified.).
)



[msdb].[dbo].[sysmail_mailitems]
Код: sql
1.
2.
recipients 	body	send_request_date	sent_status
test@привет.рф	tets	2020-02-12 12:37:09.117	2


sent_status=2 т.е. не отправлено

нужно в параметр @recipients ХП sp_send_dbmail передать уже "декодированный" адрес получателя
...
Рейтинг: 0 / 0
12.02.2020, 12:48
    #39925592
msLex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Punycode
max44
Кто может поделиться готовым решение (алгоритмом) декодировки Punycode на T-SQL?


В dotnet-е уже есть готовое.
"Оберните" своей скалярной CLR функцией и используйте.
...
Рейтинг: 0 / 0
12.02.2020, 13:01
    #39925604
Критик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Punycode
max44,

https://docs.microsoft.com/ru-ru/dotnet/api/system.globalization.idnmapping?view=netframework-4.8

GetAscii(String, Int32, Int32) из первого примера?
...
Рейтинг: 0 / 0
12.02.2020, 13:04
    #39925605
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Punycode
max44,

@recipients =N'test@привет.рф' уже пробовали?
...
Рейтинг: 0 / 0
12.02.2020, 13:16
    #39925632
max44
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Punycode
Владислав Колосов,

попробовал @recipients =N'test@привет.рф'

результат такой же:
Код: sql
1.
sent_status=2



И,
Код: sql
1.
The mail could not be sent to the recipients because of the mail server failure. (Sending Mail using Account 1 (2020-02-12T13:13:36). Exception Message: Cannot send mails to mail server. (A recipient must be specified.).
...
Рейтинг: 0 / 0
12.02.2020, 13:23
    #39925642
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Punycode
max44,

вас отбивает SMTP сервер, а не сиквел. ЕМНИП, по спецификации POP3 адрес должен быть исполнен латиницей.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Punycode / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]