Надішліть електронний лист із тілом Plaintext з одним вкладеним текстом у форматі mailx:
(
/usr/bin/uuencode attachfile.txt myattachedfilename.txt;
/usr/bin/echo "Body of text"
) | mailx -s 'Subject' youremail@gmail.com
Нижче така ж команда, як і вище, без нових рядків
( /usr/bin/uuencode /home/el/attachfile.txt myattachedfilename.txt; /usr/bin/echo "Body of text" ) | mailx -s 'Subject' youremail@gmail.com
Переконайтеся, що у вас /home/el/attachfile.txt
визначений файл із цим вмістом:
<html><body>
Government discriminates against programmers with cruel/unusual 35 year prison
sentences for making the world's information free, while bankers that pilfer
trillions in citizens assets through systematic inflation get the nod and
walk free among us.
</body></html>
Якщо у вас немає uuencode, прочитайте це: /unix/16277/how-do-i-get-uuencode-to-work
У Linux надсилайте HTML-адресу електронної пошти із вкладенням PDF із sendmail:
Переконайтеся, що у вас встановлено ksh: yum info ksh
Переконайтеся, що у вас встановлена та налаштована sendmail.
Переконайтеся, що у вас встановлено і доступно uuencode: /unix/16277/how-do-i-get-uuencode-to-work
Створіть новий файл під назвою test.sh
та помістіть його у свій домашній каталог:/home/el
Помістіть такий код у test.sh
:
#!/usr/bin/ksh
export MAILFROM="el@defiant.com"
export MAILTO="youremail@gmail.com"
export SUBJECT="Test PDF for Email"
export BODY="/home/el/email_body.htm"
export ATTACH="/home/el/pdf-test.pdf"
export MAILPART=`uuidgen` ## Generates Unique ID
export MAILPART_BODY=`uuidgen` ## Generates Unique ID
(
echo "From: $MAILFROM"
echo "To: $MAILTO"
echo "Subject: $SUBJECT"
echo "MIME-Version: 1.0"
echo "Content-Type: multipart/mixed; boundary=\"$MAILPART\""
echo ""
echo "--$MAILPART"
echo "Content-Type: multipart/alternative; boundary=\"$MAILPART_BODY\""
echo ""
echo "--$MAILPART_BODY"
echo "Content-Type: text/plain; charset=ISO-8859-1"
echo "You need to enable HTML option for email"
echo "--$MAILPART_BODY"
echo "Content-Type: text/html; charset=ISO-8859-1"
echo "Content-Disposition: inline"
cat $BODY
echo "--$MAILPART_BODY--"
echo "--$MAILPART"
echo 'Content-Type: application/pdf; name="'$(basename $ATTACH)'"'
echo "Content-Transfer-Encoding: uuencode"
echo 'Content-Disposition: attachment; filename="'$(basename $ATTACH)'"'
echo ""
uuencode $ATTACH $(basename $ATTACH)
echo "--$MAILPART--"
) | /usr/sbin/sendmail $MAILTO
Змініть експортні змінні вгорі test.sh
щоб відобразити вашу адресу та назви файлів.
Завантажте тестовий pdf документ і помістіть його у /home/el
названому pdf-test.pdf
Створіть файл під назвою / home/el/email_body.htm і вставте в нього цей рядок:
<html><body><b>this is some bold text</b></body></html>
Переконайтеся, що у файлі pdf достатньо 755 дозволів.
Запустіть сценарій ./test.sh
Перевірте свою поштову скриньку, текст має бути у форматі HTML, а файл pdf автоматично інтерпретується як двійковий файл. Слідкуйте за тим, щоб не користуватися цією функцією більше, ніж скажімо, 15 разів на день, навіть якщо ви надсилаєте електронні листи до себе, фільтри спаму в Gmail можуть вносити в чорний список домен, що виписує електронні листи, не даючи вам можливість пропускати їх. І ви побачите, що це більше не працює, або він лише пропускає вкладення, або електронний лист взагалі не надходить. Якщо вам доведеться зробити багато тестування з цього приводу, розкладіть їх по днях, інакше вас позначать спамером, і ця функція більше не працюватиме.