У кого-нибудь есть демо?
Sendmail, как говорят, не является масштабируемым, но он бесплатный, поэтому я решил использовать его в первую очередь:)
У кого-нибудь есть демо?
Sendmail, как говорят, не является масштабируемым, но он бесплатный, поэтому я решил использовать его в первую очередь:)
Я не мог получить ни одно из опубликованных решений для работы, но, наконец, нашел это в другом месте, и он отлично работает:
(
echo "From: ${from}";
echo "To: ${to}";
echo "Subject: ${subject}";
echo "Content-Type: text/html";
echo "MIME-Version: 1.0";
echo "";
echo "${message}";
) | sendmail -t
Если вы правильно поняли, вы хотите отправить почту в формате HTML с помощью команды linux sendmail. Этот код работает над Unix. Пожалуйста, попробуйте.
echo "From: [email protected]
To: [email protected]
MIME-Version: 1.0
Content-Type: multipart/alternative;
boundary='PAA08673.1018277622/server.xyz.com'
Subject: Test HTML e-mail.
This is a MIME-encapsulated message
--PAA08673.1018277622/server.xyz.com
Content-Type: text/html
<html>
<head>
<title>HTML E-mail</title>
</head>
<body>
<a href='http://www.google.com'>Click Here</a>
</body>
</html>
--PAA08673.1018277622/server.xyz.com
" | sendmail -t
Сведения о конфигурации sendmail см. в этой ссылке. Надеюсь, это поможет.
Эта страница должна помочь - http://www.zedwood.com/article/103/bash-send-mail-with-an-attachment
Он включает script для отправки электронной почты с вложением MIME, то есть с HTML-страницей и изображениями.
Я понимаю, что вы просили sendmail, но почему бы не использовать по умолчанию mail? Он может легко отправлять html-сообщения электронной почты.
Работает на: RHEL 5.10/6.x и CentOS 5.8
Пример:
cat ~/campaigns/release-status.html | mail -s "$(echo -e "Release Status [Green]\nContent-Type: text/html")" [email protected] -v
CodeShare: http://www.codeshare.io/8udx5
Чтобы следить за предыдущим ответом, используя mail:
Часто один вывод html интерпретируется почтовой программой клиента, которая не может форматировать вещи с использованием шрифта фиксированной ширины. Таким образом, ваше красиво отформатированное выравнивание ascii становится все испорченным. Чтобы отправить старомодную фиксированную ширину так, как это сделал Бог, попробуйте следующее:
{ echo -e "<pre>"
echo "Descriptive text here."
shell_command_1_here
another_shell_command
cat <<EOF
This is the ending text.
</pre><br>
</div>
EOF
} | mail -s "$(echo -e 'Your subject.\nContent-Type: text/html')" [email protected]
Вам необязательно нужен "Описательный текст здесь"., но я обнаружил, что иногда первая строка может, в зависимости от ее содержимого, заставлять почтовую программу интерпретировать остальную часть файла так, как вы этого не делали. Сначала попробуйте script с простым описательным текстом, прежде чем тонко настроить вывод так, как вы хотите.
Проще использовать, -a вариант:
cat ~/campaigns/release-status.html | mail -s "Release Status [Green]" -a "Content-Type: text/html" [email protected]
-a вариант?
Cf. справочная страница:
-a file
Attach the given file to the message.
Результат:
Content-Type: text/html: No such file or directory