Source code for PSCalib.DCEmail
#-----------------------------------------------------------------------------
# File and Version Information:
# $Id: DCEmail.py 12660 2016-09-27 00:33:40Z dubrovin@SLAC.STANFORD.EDU $
#-----------------------------------------------------------------------------
"""
:py:class:`PSCalib.DCEmail` - class for Detector Calibration Store (DCS) project.
Usage::
# Import
from PSCalib.DCEmail import send_text_email
# Send message via e-mail
send_text_email(msg='Text message',\
subject='Text subject',\
email_from='do-not-reply@slac.stanford.edu',\
email_to='do-not-send@slac.stanford.edu')
@see project modules
* :py:class:`PSCalib.DCStore`
* :py:class:`PSCalib.DCType`
* :py:class:`PSCalib.DCRange`
* :py:class:`PSCalib.DCVersion`
* :py:class:`PSCalib.DCBase`
* :py:class:`PSCalib.DCInterface`
* :py:class:`PSCalib.DCUtils`
* :py:class:`PSCalib.DCDetectorId`
* :py:class:`PSCalib.DCConfigParameters`
* :py:class:`PSCalib.DCFileName`
* :py:class:`PSCalib.DCLogger`
* :py:class:`PSCalib.DCMethods`
* :py:class:`PSCalib.DCEmail`
This software was developed for the SIT project.
If you use all or part of it, please give an appropriate acknowledgment.
@version $Id: DCEmail.py 12660 2016-09-27 00:33:40Z dubrovin@SLAC.STANFORD.EDU $
@author Mikhail S. Dubrovin
"""
#---------------------------------
__version__ = "$Revision: 12660 $"
#---------------------------------
import smtplib
from email.mime.text import MIMEText
#from PSCalib.DCLogger import log
#------------------------------
[docs]def send_text_email(msg=None, subject=None, email_from=None, email_to=None) :
"""Sends e-mail.
"""
dmsg = MIMEText(msg)
dmsg['Subject'] = str(subject)
dmsg['From'] = email_from
dmsg['To'] = email_to
s = smtplib.SMTP('localhost')
s.sendmail(email_from, [email_to], dmsg.as_string())
s.quit()
#log.debug('Message submitted:\n%s' % dmsg.as_string(), 'send_text_email')
#------------------------------
#class DCEmail() :
# """
# """
# def __init__(self, env, src, calibdir=None) :
# self._name = self.__class__.__name__
# log.debug('c-tor', self._name)
#
# def __del__(self) :
# log.debug('d-tor', self._name)
#------------------------------
[docs]def test_send_text_email() :
print 20*'_', '\n%s:' % sys._getframe().f_code.co_name
log.setPrintBits(0377)
send_text_email(msg='Test message',\
subject='Test subject',\
email_from='no-reply@slac.stanford.edu',\
email_to='dubrovin@slac.stanford.edu')
#------------------------------
[docs]def do_test() :
tname = sys.argv[1] if len(sys.argv) > 1 else '0'
print 50*'_', '\nTest %s:' % tname
if tname == '0' : test_send_text_email() # ; test_DCEmail()
elif tname == '1' : test_send_text_email()
else : print 'Not-recognized test: %s' % tname
sys.exit('End of test %s' % tname)
#------------------------------
if __name__ == "__main__" :
import sys; global sys
do_test()
#------------------------------