Форум OlegON > Компьютеры и Программное обеспечение > Операционные системы и программное обеспечение > Linux

Как отправить email с вложенной картинкой из командной строки : Linux

21.11.2024 23:27


07.07.2020 14:10
Понадобилось тут выслать не просто текст, но и график на мобилу. Как? Пришлось изобретать в HTML сообщение. Скрипт ниже, но, скажу сразу, что он не для мобилы.

Код:
#!/bin/bash
sendmail -t <<EOT
TO: olegon@olegon.ru
FROM: r@olegon.ru
SUBJECT: statistics
MIME-Version: 1.0
Content-Type: multipart/related;boundary="XYZ"
--XYZ
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
</head>
<body>
Статистика<br/>
<img src=3D"cid:Zapr" height=3D"305px" width=3D"auto" />
<br/>
<img src=3D"cid:Users" height=3D"305px" width=3D"auto" />
</body>
</html>
--XYZ
Content-Type: image/png
Content-Transfer-Encoding: base64
Content-ID: <Zapr>
Content-Disposition: inline; filename="reqso.png"

$(base64 /olegon/stat/reqso.png)

--XYZ
Content-Type: image/png
Content-Transfer-Encoding: base64
Content-ID: <Users>
Content-Disposition: inline; filename="userso.png"

$(base64 /olegon/stat/userso.png)

--XYZ--
EOT
все просто и понятно.... две картинки, с помощью base64 кодируются и вставляются в тело сообщения. Все замечательно, кроме одного. Мобильный клиент Gmail почему-то эти картинки не показывает. Хоть убейся. Если кто-то знает, как его заставить - пожалуйста, подскажите.

А мне пока пришлось переделать на внешние картинки, с самого сервера.

Код:
#!/bin/bash
sendmail -t <<EOT
TO: olegon@olegon.ru
FROM: r@olegon.ru
SUBJECT: olegon.ru statistics
MIME-Version: 1.0
Content-Type: multipart/related;boundary="XYZ"
--XYZ
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
</head>
<body>
Статистика<br>
<img src=3D"https://olegon.ru/stat/reqso.png" height=3D"305px" width=3D"auto" />
<br/>
<img src=3D"https://olegon.ru/stat/userso.png" height=3D"305px" width=3D"auto" />
<br/>
<img src=3D"https://olegon.ru/stat/refso.png" height=3D"305px" width=3D"auto" />
</body>
</html>
--XYZ--
EOT
этот вариант отображается и в вебе, и в мобильном клиенте Gmail.
07.07.2020 16:53
У меня gmail картинки показывает. Хотя спросил 1 раз, нужно ли их отображать, вроде это на уровне адреса отправителя запоминается.

Еще тут пустую строку добавил, иначе блок текста пропадает.
Код:
Content-Disposition: inline

<html>
07.07.2020 17:00
Цитата:
vdm У меня gmail картинки показывает.
именно на смартфоне?
07.07.2020 17:26
Цитата:
OlegON именно на смартфоне?
Ну да. Веб-интерфейсами почти не пользуюсь.
Android 9, Gmail от 17 июня.
07.07.2020 17:47
Странно, может, какие-то особенности самих картинок... Хотя, сам клиент достаточно глючный, я использовал Matomo, иногда показывались картинки, иногда нет... Адрес, кстати, все тот же, что и сейчас использовал...
Часовой пояс GMT +3, время: 23:27.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.