Senden Sie eine Klartext-E-Mail mit einem Klartext-Anhang mit mailx:
(
/usr/bin/uuencode attachfile.txt myattachedfilename.txt;
/usr/bin/echo "Body of text"
) | mailx -s 'Subject' youremail@gmail.com
Unten ist der gleiche Befehl wie oben, ohne die Zeilenumbrüche
( /usr/bin/uuencode /home/el/attachfile.txt myattachedfilename.txt; /usr/bin/echo "Body of text" ) | mailx -s 'Subject' youremail@gmail.com
Stellen Sie sicher, dass Sie eine Datei /home/el/attachfile.txt
mit folgendem Inhalt definiert haben :
<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>
Wenn Sie keinen Uuencode haben, lesen Sie diesen: /unix/16277/how-do-i-get-uuencode-to-work
Senden Sie unter Linux HTML-Text-E-Mails mit einem PDF-Anhang mit sendmail:
Stellen Sie sicher, dass Sie ksh installiert haben: yum info ksh
Stellen Sie sicher, dass sendmail installiert und konfiguriert ist.
Stellen Sie sicher, dass Sie uuencode installiert und verfügbar haben: /unix/16277/how-do-i-get-uuencode-to-work
Erstellen Sie eine neue Datei mit dem Namen test.sh
und legen Sie sie in Ihrem Home-Verzeichnis ab:/home/el
Geben Sie den folgenden Code ein 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
Ändern Sie die Exportvariablen oben auf test.sh
, um Ihre Adresse und Dateinamen wiederzugeben.
Laden Sie ein Test-PDF-Dokument herunter und /home/el
fügen Sie es in die Datei pdf-test.pdf ein
Erstellen Sie eine Datei mit dem Namen /home/el/email_body.htm und fügen Sie diese Zeile ein:
<html><body><b>this is some bold text</b></body></html>
Stellen Sie sicher, dass die PDF-Datei über ausreichend 755 Berechtigungen verfügt.
Führen Sie das Skript aus ./test.sh
Überprüfen Sie Ihren E-Mail-Posteingang, der Text sollte im HTML-Format vorliegen und die PDF-Datei wird automatisch als Binärdatei interpretiert. Achten Sie darauf, diese Funktion nicht mehr als 15 Mal am Tag zu verwenden. Selbst wenn Sie die E-Mails an sich selbst senden, können Spam-Filter in Google Mail eine Domain auf die schwarze Liste setzen, ohne dass Sie die Möglichkeit haben, sie durchzulassen. Und Sie werden feststellen, dass dies nicht mehr funktioniert oder nur den Anhang durchlässt oder die E-Mail überhaupt nicht durchkommt. Wenn Sie diesbezüglich viele Tests durchführen müssen, verteilen Sie diese auf mehrere Tage, oder Sie werden als Spammer bezeichnet, und diese Funktion funktioniert nicht mehr.