Как отправить письмо с вложением с помощью запроса MySQL - PullRequest
1 голос
/ 20 марта 2012

Есть ли возможность отправить письмо с вложением с помощью mysql? В настоящее время я могу отправить электронную почту, используя mysql, но без вложений. Мне нужно добавить вложение docx с жесткого диска.

Я создаю файл eml и отправляю его в IIS (Inetpub), чтобы он мог получать электронную почту. Это рабочий код для уведомления по электронной почте:

SET @sqlString = CONCAT("SELECT 'To:test@email.com', ",
       "'From: test@email.com', ",
        "'Subject: test', ",
        "'\r\n'",
        "'test'",
        "INTO OUTFILE 'C:/Inetpub/mailroot/Pickup/mail_", CAST(RAND() * (100000 - 1) + 1 AS CHAR(64)), ".eml' FIELDS TERMINATED BY '\r\n' ESCAPED BY ''");

  PREPARE stmt FROM @sqlString;
    EXECUTE stmt;
    DEALLOCATE PREPARE stmt;

теперь мне нужно вложение. Это мое усилие, чтобы попробовать это ...

   SET @sqlString = CONCAT("SELECT 'To:test@email.com', ",
       "'From: test@email.com', ",
        "'Subject: test', ",
        "'Content-Type: application/octet-stream; name=\"C:/text.docx\"',",
    "'Content-Transfer-Encoding: base64',",
    "'Content-Disposition: attachment; filename=\"C:/text.docx\"',",
        "'\r\n'",
        "'test'",
        "INTO OUTFILE 'C:/Inetpub/mailroot/Pickup/mail_", CAST(RAND() * (100000 - 1) + 1 AS CHAR(64)), ".eml' FIELDS TERMINATED BY '\r\n' ESCAPED BY ''");

    PREPARE stmt FROM @sqlString;
    EXECUTE stmt;
    DEALLOCATE PREPARE stmt;

но он только создает файл docx и не выбрал правильный файл. Это также стерло основной текст.

Есть ли способ прикрепить файл. Большое спасибо за вашу помощь

1 Ответ

0 голосов
/ 23 июля 2012

Может быть вставить запись в таблицу и использовать более универсальный язык программирования, чтобы периодически проверять эту таблицу на наличие новых записей для отправки вашей электронной почты.

...