«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как отправить динамические уведомления по электронной почте из MySQL 5.1 с использованием триггеров и UDF?

Как отправить динамические уведомления по электронной почте из MySQL 5.1 с использованием триггеров и UDF?

Опубликовано в 2025-02-07
Просматривать:732

How to Send Dynamic Email Notifications from MySQL 5.1 Using Triggers and UDFs?

Как отправить уведомления по электронной почте из MySQL 5.1

Когда новая строка вставлена ​​в таблицу, вы стремитесь отправлять электронные письма нескольким получателям Динамически определяется через оператор SELECT. Кроме того, вы сталкиваетесь с ограничениями с предопределенной системой уведомлений по электронной почте Navicat. Тело электронной почты в каталог Drop. Однако этот подход может привести к дублирующим именам файлов, если у вас высокий объем.

udf Solution

Другой вариант - создать функцию, определенную пользователем (UDF). Вот примеры решения Trigger:

создать Trigger test.autosendFromDrop перед вставкой на test.emaildrop Для каждого ряда начинается /* Начните написание файла электронной почты здесь*/ ВЫБИРАТЬ concat ("to:", new.to), concat ("from:", new.from), concat («Субъект:», New.subject), Новый В Outfile "C: \\ inetpub \\ mailroot \\ pickup \\ mail.txt" Поля прекращены '\ r \ n', сбежал '' '; End; ]

отмечать тело электронной почты

]
CREATE TRIGGER test.autosendfromdrop BEFORE INSERT ON test.emaildrop
FOR EACH ROW BEGIN
  /* START THE WRITING OF THE EMAIL FILE HERE*/      
  SELECT
    concat("To: ", NEW.To),
    concat("From: ", NEW.From),
    concat("Subject: ", NEW.Subject),
    NEW.Body
  INTO OUTFILE
    "C:\\inetpub\\mailroot\\pickup\\mail.txt"
  FIELDS TERMINATED BY '\r\n' ESCAPED BY '';
END;

Создать функцию ` Htmlbody` (msg varchar (8192)) Возвращает Varchar (17408) charset latin1 детерминированный НАЧИНАТЬ объявить tmpmsg varchar (17408); установить tmpmsg = Cast (concat ( 'Дата:', date_format (now (), ' %e %b %y %h: %i: %s -0600'), '\ r \ n', 'Mime-версия: 1.0', '\ r \ n', 'Content-Type: Multipart/Alternative;', '\ r \ n', 'Boundary = \ "---- = _ nextPart_000_0000_01CA4B3F.8C263EE0 \"', '\ r \ n', 'Content-class: urn: content-classes: message', '\ r \ n', 'Значение: нормально', '\ r \ n', 'Приоритет: нормальный', '\ r \ n', '', '\ r \ n', '', '\ r \ n', 'Это многочасовое сообщение в формате Mime.', '\ R \ n', '', '\ r \ n', '------ = _ nextPart_000_0000_01CA4B3F.8C263EE0', '\ r \ n', 'Content-Type: Text/plain;', '\ r \ n', 'charset = \ "iso-8859-1 \"' ',' \ r \ n ', 'Transfer-transfer-encoding: 7bit', '\ r \ n', '', '\ r \ n', '', '\ r \ n', MSG, '\ r \ n', '', '\ r \ n', '' ',' \ r \ n ', '------ = _ nextPart_000_0000_01CA4B3F.8C263EE0', '\ r \ n', 'Контент-тип: text/html', '\ r \ n', 'Transfer-transfer-transfer: 7bit', '\ r \ n', '', '\ r \ n', MSG, '\ r \ n', '------ = _ nextpart_000_0000_01ca4b3f.8c263ee0-- ) как char); Вернуть tmpmsg; КОНЕЦ;

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3