def send(text, subject=None, toAdd=None, cc=None, log_file=None): mail_info = config.config_dic['mail_info'] sslPort = 465 server = mail_info.get('server') user = mail_info.get('user') passwd = mail_info.get('password') if not (server and user and passwd): print('Invalid login info, exit!') return mail = Mail(server, port=sslPort, username=user, password=passwd, use_tls=False, use_ssl=True, debug_level=None) msg = Message(subject) msg.fromaddr = (user, user) msg.to = toAdd if cc: msg.cc = cc if log_file: zip_path = '/tmp/build.log.zip' zip_file(log_file, zip_path) with open(zip_path, encoding='ISO-8859-1') as f: attachment = Attachment("build.log.zip", "application/octet-stream", f.read()) msg.attach(attachment) msg.body = text msg.charset = "utf-8" mail.send(msg)
def send(text, subject=None, cc=None, toAdd=None, log_file=None): mail_info = config.config_dic['mail_info'] sslPort = 465 server = mail_info.get('server') user = mail_info.get('user') passwd = mail_info.get('password') if not (server and user and passwd): print('Invalid login info, exit!') return mail = Mail(server, port=sslPort, username=user, password=passwd, use_tls=False, use_ssl=True, debug_level=None) msg = Message(subject) msg.fromaddr = (user, user) msg.to = toAdd if cc: msg.cc = cc if log_file: with open(log_file) as f: attachment = Attachment("build.log", "text/plain", f.read()) msg.attach(attachment) msg.body = text msg.charset = "utf-8" mail.send(msg)
def send_email(): try: data = app.current_request.json_body # print(data) email = data["email"] password = data["password"] smtp_server = data["smtp_server"] smtp_port = data["smtp_port"] toAddress = data["toAddress"] fromAddress = data["fromAddress"] name = data["name"] subject = data["subject"] bodyPLAIN = data["bodyPLAIN"] bodyHTML = textile(bodyPLAIN) mail = Mail(host=smtp_server, port=smtp_port, username=email, password=password, use_ssl=True) msg = Message() msg.subject = subject msg.fromaddr = (name, fromAddress) msg.to = toAddress msg.body = bodyPLAIN msg.html = bodyHTML # msg.cc = "*****@*****.**" # msg.bcc = ["*****@*****.**", "*****@*****.**"] # msg.reply_to = "*****@*****.**" msg.date = int(round(time.time())) msg.charset = "utf-8" msg.extra_headers = {} msg.mail_options = [] msg.rcpt_options = [] # print(msg) # print(type(msg)) mail.send(msg) return Response(body={'sent': True}, status_code=200, headers=custom_headers) except Exception as error: # print("Send Emails Error") # print(error) return Response(body={'AppError': str(error)}, status_code=500, headers=custom_headers)
def sendMail(to, subject, msgContext): pLog("Send Server Mail") config = ConfigParser.RawConfigParser() config.read('defaults.cfg') msg = Message(subject, fromaddr=config.get('SendAbuse', 'from'), to=to) if(to!=config.get('SendAbuse', 'from')): msg.bcc = config.get('SendAbuse', 'from') msg.body = msgContext msg.date = time.time() msg.charset = "utf-8" mail = Mail(config.get('SendAbuse', 'server'), port=config.get('SendAbuse', 'port'), username=config.get('SendAbuse', 'user'), password=config.get('SendAbuse', 'pass'),use_tls=False, use_ssl=False, debug_level=None) mail.send(msg)
def sendMail(to, subject, msgContext): pLog("Send Server Mail") config = ConfigParser.RawConfigParser() config.read('defaults.cfg') msg = Message(subject, fromaddr=config.get('SendAbuse', 'from'), to=to) if (to != config.get('SendAbuse', 'from')): msg.bcc = config.get('SendAbuse', 'from') msg.body = msgContext msg.date = time.time() msg.charset = "utf-8" mail = Mail(config.get('SendAbuse', 'server'), port=config.get('SendAbuse', 'port'), username=config.get('SendAbuse', 'user'), password=config.get('SendAbuse', 'pass'), use_tls=False, use_ssl=False, debug_level=None) mail.send(msg)
def send(text, subject, toAdd, cc=None, attachments=None): """邮件发送方法 Arguments: text {str} -- 邮件内容,可以为字符串或者 HTML 字符串 subject {str} -- 邮件标题 toAdd {list} -- 收件人列表 Keyword Arguments: cc {list} -- 抄送人列表 (default: {None}) attachments {list} -- 附件列表,示例:[{'path': '/path/to/file', 'file_name': '附件文件名'}] (default: {None}) """ assert subject is not None assert toAdd is not None sslPort = os.getenv('MAIL_SERVER_PORT') server = os.getenv('MAIL_SMTP_SERVER') user = os.getenv('MAIL_USER') passwd = os.getenv('MAIL_PASSWORD') assert server is not None assert user is not None assert passwd is not None if not sslPort: sslPort = 465 mail = Mail(server, port=sslPort, username=user, password=passwd, use_tls=False, use_ssl=True, debug_level=None) msg = Message(subject) msg.fromaddr = (user, user) msg.to = toAdd if cc: msg.cc = cc if attachments: for att in attachments: with open(att['path'], 'rb') as f: mail_attachment = Attachment(att['file_name'], "application/octet-stream", f.read()) msg.attach(mail_attachment) msg.html = text msg.charset = "utf-8" mail.send(msg)
pwrd = os.environ['GMAIL_PASS'] if __name__ == "__main__": with Imbox(imap, username=user, password=pwrd, ssl=True, ssl_context=None, starttls=False) as imbox: drafts = imbox.messages(folder="[Gmail]/Drafts") todays_mail = [] for uid, msg in drafts: if 'schedmail' in msg.subject.lower(): date = msg.subject.lower().split(':')[1] today = pendulum.now().date().isoformat() subject_date = pendulum.parse(date).date().isoformat() if subject_date == today: todays_mail.append(msg) mail = Mail('smtp.gmail.com', port=587, username=user, password=pwrd, use_tls=True) for i in todays_mail: msg = Message(i.subject.split(':')[-1]) msg.fromaddr = (i.sent_from[0]['name'], i.sent_from[0]['email']) msg.to = [j['email'] for j in i.sent_to] msg.cc = [j['email'] for j in i.cc] msg.bcc = [j['email'] for j in i.bcc] msg.body = i.body['plain'][0] msg.html = i.body['html'][0] msg.charset = 'utf-8' mail.send(msg)
# in email_server_config.txt, you enter your email information in this format: smtp.example.com,25,username,password with open('./email_server_config.txt','r') as f: config_content=[] for line in f.readlines(): config_content=line.split(",") smtp_server=config_content[0] smtp_server_port=config_content[1] smtp_server_username=config_content[2] smtp_server_password=config_content[3] mail=Mail(smtp_server,port=smtp_server_port,username=smtp_server_username,password=smtp_server_password,\ use_tls=False,use_ssl=False,debug_level=None) from sender import Message with open('./to_email_list.txt','r') as f: for line in f.readlines(): msg=Message("email subject",fromaddr=("burness","*****@*****.**"),to=line) msg.body = "this is a msg plain text body" msg.date = time.time() msg.charset = "utf-8" msg.extra_headers = {} msg.mail_options = [] msg.rcpt_options = [] from sender import Attachment with open("to_email_list.txt") as f: attachment=Attachment("to_email_list.txt","text/txt",f.read()) msg.attach(attachment) mail.send(msg) print 'To check in your email that ensure it is ok'
#!/usr/bin/env python3 # Before begin you need to change Gmail settings: # 1. Turn off 2-step verification # 2. Enable: Allow less secure apps from sender import Mail, Message mail = Mail("smtp.gmail.com", port=587, username="******", password="******", use_tls=True, use_ssl=False, debug_level=None) mail.fromaddr = ("Sender Name", "*****@*****.**") msg = Message("msg subject") msg.fromaddr = ("Sender Name", "*****@*****.**") msg.to = "*****@*****.**" msg.body = "this is a msg plain text body" msg.html = "<b>this is a msg text body</b>" msg.reply_to = "*****@*****.**" msg.charset = "utf-8" msg.extra_headers = {} msg.mail_options = [] msg.rcpt_options = [] # Send message mail.send(msg)