Пример #1
0
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)
Пример #2
0
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)
Пример #3
0
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)
Пример #4
0
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)
Пример #5
0
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)
Пример #6
0
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)
Пример #7
0
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)
Пример #8
0
# 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'
Пример #9
0
#!/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)