summaryrefslogtreecommitdiffstats
path: root/testsuites/vstf/vstf_scripts/vstf/controller/reporters/mail/sendmail.py
diff options
context:
space:
mode:
Diffstat (limited to 'testsuites/vstf/vstf_scripts/vstf/controller/reporters/mail/sendmail.py')
-rw-r--r--testsuites/vstf/vstf_scripts/vstf/controller/reporters/mail/sendmail.py67
1 files changed, 67 insertions, 0 deletions
diff --git a/testsuites/vstf/vstf_scripts/vstf/controller/reporters/mail/sendmail.py b/testsuites/vstf/vstf_scripts/vstf/controller/reporters/mail/sendmail.py
new file mode 100644
index 00000000..a4d7bb0a
--- /dev/null
+++ b/testsuites/vstf/vstf_scripts/vstf/controller/reporters/mail/sendmail.py
@@ -0,0 +1,67 @@
+##############################################################################
+# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+
+import logging
+from vstf.controller.reporters.mail.mail import Mail
+from vstf.controller.settings.mail_settings import MailSettings
+LOG = logging.getLogger(__name__)
+
+
+class SendMail(object):
+ def __init__(self, mail_info):
+ self._mail_info = mail_info
+
+ def send(self):
+ send = Mail(self._mail_info['server']['host'],
+ self._mail_info['server']['username'],
+ self._mail_info['server']['password']
+ )
+ send.attach_addr(self._mail_info['body']['from'], send.FROM)
+ send.attach_addr(self._mail_info['body']['to'], send.TO)
+ send.attach_addr(self._mail_info['body']['cc'], send.CC)
+ send.attach_addr(self._mail_info['body']['bcc'], send.CC)
+
+ LOG.info(self._mail_info['body'])
+
+ if 'attach' in self._mail_info['body']:
+ send.attach_files(self._mail_info['body']['attach'])
+ send.attach_text(self._mail_info['body']['content'], self._mail_info['body']['subtype'])
+ send.attach_title(self._mail_info['body']['subject'])
+ send.send()
+
+
+def unit_test():
+ mail_settings = MailSettings()
+ mail = SendMail(mail_settings.settings)
+
+ attach_list = ['1', '2']
+ mail_settings.set_attach(attach_list)
+
+ context = """
+ <!DOCTYPE html>
+ <html>
+ <head>
+ <title>vstf</title>
+ </head>
+
+ <body>
+ hello vstf
+ </body>
+
+ </html>
+ """
+ mail_settings.set_subtype('html')
+ mail_settings.set_content(context)
+
+ mail.send()
+
+
+if __name__ == '__main__':
+ unit_test()