Пример #1
0
def main(cli_args=None):
    parser = ArgumentParser(description=__doc__,
                            formatter_class=RawTextHelpFormatter)
    parser.add_argument("file", nargs="?",
                        help="Markdown file for email content. " \
                        "Default to STDIN.")
    parser.add_argument("--subject", "-s", help="Subject line")
    parser.add_argument("--from", "-f", dest='from_', help="From address")
    parser.add_argument("--to", "-t", help="To addresses, separated by comma")
    parser.add_argument("--cc", "-c", help="CC addresses, separated by comma")
    parser.add_argument("--bcc", "-b", help="Bcc address, separated by comma")
    parser.add_argument("--reply-to", "-r", help="Reply-to address")
    parser.add_argument("--css", help="Use a custom CSS file")
    parser.add_argument("--print-only", "-p", action='store_true',
                        help="Only print out rendered html")
    if cli_args:
        args = parser.parse_args(cli_args)
    else:
        args = parser.parse_args()

    if args.file:
        content = open(args.file, encoding='utf-8').read()
        image_root = os.path.dirname(args.file)
    else:
        content = sys.stdin.read()
        image_root = os.getcwd()

    if args.css:
        css = open(args.css, encoding='utf-8').read()
    else:
        css = None

    email_content = mdmail.EmailContent(content, css=css, image_root=image_root)

    if not args.from_:
        from_email = email_content.headers.get('from') or \
                     os.environ.get('MDMAIL_DEFAULT_SENDER')
    else:
        from_email = args.from_

    smtp = {
        'host': os.environ.get('MDMAIL_HOST', 'localhost'),
        'port': int(os.environ.get('MDMAIL_PORT', 25)),
        'tls': to_bool(os.environ.get('MDMAIL_USE_TLS')),
        'ssl': to_bool(os.environ.get('MDMAIL_USE_SSL')),
        'user': os.environ.get('MDMAIL_USERNAME',''),
        'password': os.environ.get('MDMAIL_PASSWORD',''),
    }

    if args.print_only:
        print("==========HTML Content===========")
        print(email_content.html + '\n')
        print("==========Plain-text Content===========")
        print(email_content.text + '\n')
    else:
        mdmail.send(email_content, subject=args.subject,
            from_email=from_email, to_email=args.to,
            cc=args.cc, bcc=args.bcc, reply_to=args.reply_to,
            smtp=smtp)
Пример #2
0
 def send_msg(self, to_user=None, title=None, content=None, **kwargs):
     """
     发送普通邮件
     :param to_user: 接收人email
     :param title: 标题
     :param content: 内容
     :param kwargs:
     :return:
     """
     smtp = {
         'host': self.smtp_server[0],
         'port': self.smtp_server[1],
         'user': self.from_addr,
         'password': self.password
     }
     if to_user is None:
         to_user = sender.config.get_config('mail_from_addr', 'mail')
     if content is None:
         content = title
     mdmail.send(content, subject=title, from_email=self.from_addr, to_email=to_user, smtp=smtp)
     print("发送成功 - [" + to_user + "] - [" + title + "]:\r\n" + content)
message = """

# Patient Notes

* Patient Observation notes #1
* Patient Observation notes cont

## This is a sample numbered list

1. Vent setting
2. Vital Signs 
4. ABG

*that* **is** all.
"""

smtp = {
    'host': 'smtp.mailtrap.io',
    'port': 2525,
    'tls': False,
    'ssl': False,
    'user': '******',
    'password': '******',
}

mdmail.send(message,
            subject=subject,
            from_email=sender,
            to_email=receiver,
            smtp=smtp)
Пример #4
0
import mdmail
import smtplib

email = """
# Sample Email

- Python is awesome
- Markdown is cool

"""

EMAIL_ADDRESS = "*****@*****.**"
EMAIL_PASSWORD = "******"

email = 'Hey'
smtp = {
    'host': 'smtp.gmail.com',
    'port': 587,
    'tls': False,
    'ssl': True,
    'user': '******',
    'password': '******'
}

mdmail.send(email,
            subject='Sample Email',
            from_email=EMAIL_ADDRESS,
            to_email=EMAIL_ADDRESS,
            smtp=smtp)