<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Email when python encounters an error (9.3.1) in Python Questions</title>
    <link>https://community.esri.com/t5/python-questions/email-when-python-encounters-an-error-9-3-1/m-p/487797#M38084</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Although it ultimately does exactly the same as the example code from Pat, I would recommend taking a look at the mailer module, particularly if your email needs might grow, code/syntax a lot easier on the eye if you are not too familiar with all that mime stuff&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;from mailer import Mailer
from mailer import Message

message = Message(From="me@example.com",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; To=["you@example.com", "him@example.com"],
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Subject="Cute Cat")
message.Body = """Kittens with dynamite"""
message.attach("kitty.jpg")

sender = Mailer('smtp.example.com')
sender.send(message)&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A href="https://bitbucket.org/ginstrom/mailer" rel="nofollow noopener noreferrer" target="_blank"&gt;https://bitbucket.org/ginstrom/mailer&lt;/A&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 11 Dec 2021 21:28:25 GMT</pubDate>
    <dc:creator>AnthonyFarndon</dc:creator>
    <dc:date>2021-12-11T21:28:25Z</dc:date>
    <item>
      <title>Email when python encounters an error (9.3.1)</title>
      <link>https://community.esri.com/t5/python-questions/email-when-python-encounters-an-error-9-3-1/m-p/487794#M38081</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi, wondering if anyone has a more efficient way of sending an email when a python script has crashed.&amp;nbsp; I have several scripts that run on a remote machine and would like to know when they fail.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;My method is very crude and doesn't work quite right.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Currently using a Try/Except&amp;nbsp; which creates a .BAT file, the .BAT file runs a SQLPLUS statement that executes an Oracle function which sends me an email.&amp;nbsp;&amp;nbsp; There must be a better way.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;try:
&amp;nbsp;&amp;nbsp; print "doing some stuff"

except:
&amp;nbsp;&amp;nbsp; f = open('c:\\Fail_Notification.BAT', 'w')
&amp;nbsp;&amp;nbsp; f.write("c:\n")
&amp;nbsp;&amp;nbsp; f.write("cd" + "\\\n")
&amp;nbsp;&amp;nbsp; f.write('SQLPLUS DB_USER/PASSWORD@DB1 @\\\\scripts\\python\\fail_notification.sql \"Frank@Hotmail.com\" \"Script has failed.\"')
&amp;nbsp;&amp;nbsp; f.close()
&amp;nbsp;&amp;nbsp; os.spawnv(os.P_WAIT, 'c:\\projects\\Fail_Notification.BAT', [])
&amp;nbsp;&amp;nbsp; os.remove('c:\\Fail_Notification.BAT')&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 07 Jul 2011 19:26:19 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/email-when-python-encounters-an-error-9-3-1/m-p/487794#M38081</guid>
      <dc:creator>FrankOgiamien</dc:creator>
      <dc:date>2011-07-07T19:26:19Z</dc:date>
    </item>
    <item>
      <title>Re: Email when python encounters an error (9.3.1)</title>
      <link>https://community.esri.com/t5/python-questions/email-when-python-encounters-an-error-9-3-1/m-p/487795#M38082</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Frank&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I use this function to send emails with errors or logs.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Just pass in an email, subject and body text....also set the SMTP server&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;-Pat&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;#==========================================================================
def emailThis(to, subject="",body="",files=[]):

&amp;nbsp;&amp;nbsp;&amp;nbsp; try:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fro = "from@gmail.com"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; import smtplib
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; from email.MIMEMultipart import MIMEMultipart
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; from email.MIMEBase import MIMEBase
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; from email.MIMEText import MIMEText
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; from email.Utils import COMMASPACE, formatdate
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; from email import Encoders
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; msg = MIMEMultipart()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; msg['From'] = fro
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; msg['To'] = to
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; msg['Date'] = formatdate(localtime = True)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; msg['Subject'] = subject
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; msg.attach(MIMEText(body))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for file in files:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; part = MIMEBase('application',"octet-stream")
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; part.set_payload(open(file,"rb").read())
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Encoders.encode_base64(part)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; part.add_header('Content-Disposition','attachment; filename="%s"' %os.path.basename(file))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; msg.attach(part)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; smtp = smtplib.SMTP("some.smpt.server.local")
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; smtp.sendmail(fro,to,msg.as_string())
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; smtp.close()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return True
&amp;nbsp;&amp;nbsp;&amp;nbsp; except:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print("&amp;nbsp; error")&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return False


&amp;nbsp;&amp;nbsp;&amp;nbsp; return 1
&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 21:28:22 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/email-when-python-encounters-an-error-9-3-1/m-p/487795#M38082</guid>
      <dc:creator>PatKeegan</dc:creator>
      <dc:date>2021-12-11T21:28:22Z</dc:date>
    </item>
    <item>
      <title>Re: Email when python encounters an error (9.3.1)</title>
      <link>https://community.esri.com/t5/python-questions/email-when-python-encounters-an-error-9-3-1/m-p/487796#M38083</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Cool, I was sure there was a better way.&amp;nbsp; Thanks for the help!&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Frank&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 Jul 2011 14:29:47 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/email-when-python-encounters-an-error-9-3-1/m-p/487796#M38083</guid>
      <dc:creator>FrankOgiamien</dc:creator>
      <dc:date>2011-07-08T14:29:47Z</dc:date>
    </item>
    <item>
      <title>Re: Email when python encounters an error (9.3.1)</title>
      <link>https://community.esri.com/t5/python-questions/email-when-python-encounters-an-error-9-3-1/m-p/487797#M38084</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Although it ultimately does exactly the same as the example code from Pat, I would recommend taking a look at the mailer module, particularly if your email needs might grow, code/syntax a lot easier on the eye if you are not too familiar with all that mime stuff&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;from mailer import Mailer
from mailer import Message

message = Message(From="me@example.com",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; To=["you@example.com", "him@example.com"],
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Subject="Cute Cat")
message.Body = """Kittens with dynamite"""
message.attach("kitty.jpg")

sender = Mailer('smtp.example.com')
sender.send(message)&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A href="https://bitbucket.org/ginstrom/mailer" rel="nofollow noopener noreferrer" target="_blank"&gt;https://bitbucket.org/ginstrom/mailer&lt;/A&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 21:28:25 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/email-when-python-encounters-an-error-9-3-1/m-p/487797#M38084</guid>
      <dc:creator>AnthonyFarndon</dc:creator>
      <dc:date>2021-12-11T21:28:25Z</dc:date>
    </item>
  </channel>
</rss>

