1
有没有可能的方式使用mysql发送带附件的电子邮件?目前我可以使用mysql发送电子邮件,但没有附件。 我需要包含一个来自硬盘的docx附件。如何使用mysql查询发送带有附件的电子邮件
我创建一个eml文件并将其发送到IIS(Inetpub),以便它可以获取电子邮件。这是电子邮件通知的工作代码:
SET @sqlString = CONCAT("SELECT 'To:[email protected]', ",
"'From: [email protected]', ",
"'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:[email protected]', ",
"'From: [email protected]', ",
"'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文件,并没有获取正确的文件。它也删除了正文文本。
有没有可能的方法来附加文件。非常感谢您的帮助
上帝啊,不要这样做。 MySQL没有base64编码功能。你不想自己写一个。而是在客户端应用程序中执行此操作。手工生成模拟电子邮件也是一个严重的痛苦。 – 2012-03-20 02:54:25
@Marc B感谢您的回复和关注。但我需要安排电子邮件通知。 – sarah 2012-03-20 02:57:40
正确的编程语言可以构建/发送电子邮件远比通过SQL查询执行电子邮件要容易得多,并且也可以安排。再次,不要在数据库中。 – 2012-03-20 14:26:01