跳至正文
  • 16 views
  • 1 min read

python发送邮件脚本(自编)

新浪微博 豆瓣 QQ 百度贴吧 QQ空间

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import smtplib, getopt, sys
from email.mime.text import MIMEText
from email.utils import formataddr
import logging
log_format = '%(filename)s %(funcName)s %(asctime)s %(message)s'
log_filename = "/usr/lib/zabbix/alertscripts/mailx.log"
logging.basicConfig(filename=log_filename, format=log_format, datefmt='%Y-%m-%d %H:%M:%S:%S %p', filemode='a', level=logging.INFO)


my_sender = 'mailbox_username'
my_pass = 'mailbox_password'

opts,args = getopt.getopt(sys.argv[1:],'-s:-c:-t:',['send','con','title'])
for opt,value in opts:
    if opt in ('-s','--send'):
        my_user = value
    elif opt in ('-c','--con'):
        MailContent = value
    elif opt in ('-t','--title'):
        SubJect = value

logging.info(my_user)
logging.info(SubJect)
logging.info(MailContent)
def mail():
    ret = True
    try:
        msg = MIMEText(MailContent, 'html', 'utf-8')
        msg['From'] = formataddr(["Ginux Admin", my_sender])
        msg['To'] = formataddr(["Users", my_user])
        msg['Subject'] = SubJect

        server = smtplib.SMTP("mail.ginux.cn", 25)
        server.login(my_sender, my_pass)
        server.sendmail(my_sender, my_user.split(','), msg.as_string())
        server.quit()
    except Exception:
        ret = False
    return ret


ret = mail()
if ret:
    logging.info("Sent Success.")
else:
    logging.error("Sent Failed")

发表回复