#!/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")