Manejo de excepciones de Python y notificación por correo electrónico
Manejo de excepciones de Python
utilizar
try:
print('try...')
r = 10 / 0
print('result:%s' % r)
except ZeroDivisionError as e:
print('error happened:',e)
raise e
finally:
print('done')
print('ok')
Pon las posibles excepciones en el try y haz el trámite correspondiente.
Entre ellos raise e
, el error se informa actualmente, se escribirá información detallada y se rastreará hasta una línea específica.
Enviar correo con el buzón 163
Cabe señalar que el servicio smtp debe estar activado
para el buzón 163. ¿Cómo activar el servicio SMTP para el buzón 163?
Después de abrir, habrá una contraseña de autorización del cliente, que está en el código.user_passwd
import smtplib
from email import encoders
from email.utils import formatdate
from email.mime.base import MIMEBase
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from datetime import *
user_name = "[email protected]"
user_passwd = "smtp_passwd"
smtp_server = "smtp.163.com"
subject = "Project error info"
def send_email(from_user, to_user_list, subject, body):
to_user = ",".join(to_user_list)
#email info
msg = MIMEText(body,'plain','utf-8')
# msg = MIMEMultipart('mixed')
msg['From'] = from_user
msg['To'] = to_user
msg['Subject'] = subject
msg['Date'] = formatdate(localtime = True)
#connect stmp and send email
smtp = smtplib.SMTP()
smtp.connect(smtp_server)
smtp.login(user_name, user_passwd)
smtp.sendmail(from_user, to_user, msg.as_string())
smtp.quit()
print('send over')
return
Capturar excepción y enviar correo electrónico
try:
print('try...')
r = 10 / 0
print('result:%s' % r)
except ZeroDivisionError as e:
print('error happened:',e)
send_email(str(e))
raise e
finally:
print('done')
print('ok')