Я пробовал разные форматы изображений для отправки по электронной почте.
JPG и GIF (с прозрачностью) работают нормально.
Я также попробовал этот сценарий , и он отлично работает.
Однако это работает, только если изображение в формате JPG или GIF.
Файлы PNG или BMP не встраиваются должным образом и отправляются как вложения, а не как почтовый контент, как объявлено contentID
внутри cfmailparam.
Вот краткий пример, извлеченный из файла CFC.
<cfcomponent>
<!--- function to send email--->
<cffunction name = "send" returntype = "any">
<cfmail
to="abc@aaa.com"
from="def@bbb.com"
subject="test msg.">
<cfmailpart type="html">
TEST MESSAGE. <br />
<img src="cid:embedded_image1" /><br />
<img src="cid:embedded_image2" /><br />
END OF MESSAGE.
<cfset obImage1 = ImageNew("http://www.libpng.org/pub/png/img_png/pnglogo-blk-sml1.png") />
<cfmailparam file="image1.png" contentid="embedded_image1" content="#obImage1#" disposition="inline" />
<cfset obImage2 = ImageNew("http://www.imagemagick.org/Usage/anim_basics/rose_sparkle.gif") />
<cfmailparam file="image2.gif" contentid="embedded_image2" content="#obImage2#" disposition="inline" />
</cfmailpart>
</cfmail>
</cffunction>
Я подозреваю, что упускаю что-то, что нужно объявить, например MIME или что-то подобное.
Может кто-нибудь попробовать и понять, почему GIF работает, но PNG не работает?
UPDATE
Вот что мне показалось интересным:
Дело 1
- Добавить type = "image / png"
Изображение включено в электронное письмо. Однако прозрачность становится черной (как переписывание).
<cfset obImage1 = ImageNew("http://www.libpng.org/pub/png/img_png/pnglogo-blk-sml1.png") />
<cfmailparam file="image1.png"
contentid="embedded_image1"
content="#obImage1#"
type="image/png"
disposition="inline" />
Дело 2
- Добавить type = "image / png"
- Использовать URL вместо пути в file = ".."
- Удалить content = "# obImage1 #"
Изображение сохраняется как есть, прозрачность также сохраняется. Однако имя файла - это существующий файл, и я не могу его переименовать, потому что он получил значение из content . Но, по крайней мере, это работает.
<cfmailparam file="http://www.libpng.org/pub/png/img_png/pnglogo-blk-sml1.png"
contentid="embedded_image1"
type="image/png"
disposition="inline" />
Теперь вот другая проблема: Как мне сделать имя файла произвольным?