Difference between revisions of "Mail"

From wiki
Jump to navigation Jump to search
Line 8: Line 8:
 
Subject: Subject of your mail
 
Subject: Subject of your mail
 
email text
 
email text
 +
</syntaxhighlight>
 +
 +
Python email sender found in [[https://docs.python.org/2/library/email-examples.html|the python docs]]
 +
<syntaxhighlight lang=python>
 +
import smtplib
 +
from email import encoders
 +
from email.message import Message
 +
from email.mime.base import MIMEBase
 +
from email.mime.multipart import MIMEMultipart
 +
from email.mime.text import MIMEText
 +
 +
 +
def main():
 +
    attachement = fileapath
 +
    mailto = you@domain.tld
 +
    mailsubject = 'What this is about'
 +
    mailtext = "Hi,\n\nI'd like to send you an email.\n\nBest Regards\n\nMe."
 +
    sendmail(mailto,mailsubject,mailtext,attachment)
 +
    return
 +
 +
 +
def sendmail(mailto,mailsubject,mailtext,attachment):
 +
    filename = attachment.split('/')[-1]
 +
    outer = MIMEMultipart()
 +
    outer['Subject'] = mailsubject
 +
    outer['To'] = mailto
 +
    msg = MIMEText(mailtext,_subtype='plain')
 +
    outer.attach(msg)
 +
    ctype = 'application/octet-stream'
 +
    maintype, subtype = ctype.split('/', 1)
 +
    fp = open(attachment, 'rb')
 +
    msg = MIMEBase(maintype, subtype)
 +
    msg.set_payload(fp.read())
 +
    fp.close()
 +
    # Encode the payload using Base64
 +
    encoders.encode_base64(msg)
 +
    # Set the filename parameter
 +
    msg.add_header('Content-Disposition', 'attachment', filename=filename)
 +
    outer.attach(msg)
 +
    composed = outer.as_string()
 +
    s = smtplib.SMTP('localhost')
 +
    s.sendmail('', mailto , composed)
 +
    s.quit()
 +
    return
 +
 +
main()
 
</syntaxhighlight>
 
</syntaxhighlight>

Revision as of 21:25, 11 September 2018

Sending mail with sendmail

sendmail -t < <messagefile>
Send the email as in <messagefile>

The email headers are in <messagefile>. That should look like:

From: me@mydomain.tld
To: user@domain.tld
Subject: Subject of your mail
email text

Python email sender found in [python docs]

import smtplib
from email import encoders
from email.message import Message
from email.mime.base import MIMEBase
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText


def main():
    attachement = fileapath
    mailto = you@domain.tld
    mailsubject = 'What this is about'
    mailtext = "Hi,\n\nI'd like to send you an email.\n\nBest Regards\n\nMe."
    sendmail(mailto,mailsubject,mailtext,attachment)
    return


def sendmail(mailto,mailsubject,mailtext,attachment):
    filename = attachment.split('/')[-1]
    outer = MIMEMultipart()
    outer['Subject'] = mailsubject
    outer['To'] = mailto
    msg = MIMEText(mailtext,_subtype='plain')
    outer.attach(msg)
    ctype = 'application/octet-stream'
    maintype, subtype = ctype.split('/', 1)
    fp = open(attachment, 'rb')
    msg = MIMEBase(maintype, subtype)
    msg.set_payload(fp.read())
    fp.close()
    # Encode the payload using Base64
    encoders.encode_base64(msg)
    # Set the filename parameter
    msg.add_header('Content-Disposition', 'attachment', filename=filename)
    outer.attach(msg)
    composed = outer.as_string()
    s = smtplib.SMTP('localhost')
    s.sendmail('', mailto , composed)
    s.quit()
    return

main()