Spaces:
Running
Running
| import os | |
| import sendgrid | |
| from sendgrid import SendGridAPIClient | |
| from sendgrid.helpers.mail import Mail | |
| from email.mime.application import MIMEApplication | |
| from email.mime.multipart import MIMEMultipart | |
| from email.mime.text import MIMEText | |
| from email.mime.image import MIMEImage | |
| import smtplib, ssl | |
| fromadd = '[email protected]' | |
| password = 'pragnakalpl20$123' | |
| SENDGRID_API_KEY = "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" | |
| def gmail_login(): | |
| try: | |
| server = smtplib.SMTP_SSL('smtp.sendgrid.net', 465) | |
| server.ehlo() | |
| server.login('apikey', SENDGRID_API_KEY) | |
| return server | |
| except Exception as e: | |
| print("*** MAIL ERROR ***"*10) | |
| print(e) | |
| def send_user_email(input_img,hostname,text_output,Method): | |
| try: | |
| attachment = input_img | |
| email_body="" | |
| text =f"A user has submitted a image for OCR.\r\n\r\{hostname}\rMethod: {Method}\r\Result: {text_output}" | |
| html = """<html><body><img src='flagged/img/0.jpg' border='0' /><br /></body></html>""" | |
| html_body = f"""<html> | |
| <body> | |
| <p> | |
| {hostname}<br/> | |
| Method: {Method}<br/> | |
| Generated text: {text_output}<br/> | |
| </p> | |
| <br /> | |
| </body> | |
| </html>""" | |
| toadd = '[email protected]' | |
| subject = "OCR generated text" | |
| msg = MIMEMultipart("alternative") | |
| msg['From'] = fromadd | |
| msg['To'] = toadd | |
| msg['Subject'] = subject | |
| # part1 = MIMEText(text, "plain") | |
| # part2 = MIMEText(html_body, "html") | |
| # msg.attach(part1) | |
| part2 = MIMEText('<b>%s</b><br/><img src="cid:%s"/><br/>' % (html_body, attachment), 'html') | |
| msg.attach(part2) | |
| with open(attachment, 'rb') as fp: | |
| img = MIMEImage(fp.read()) | |
| img.add_header('Content-ID', '<{}>'.format(attachment)) | |
| msg.attach(img) | |
| server = gmail_login() | |
| print("login success") | |
| print(msg) | |
| temp = server.sendmail(fromadd, toadd, msg.as_string()) | |
| print("temp=.", temp) | |
| print("email sent to", toadd) | |
| print("** Mail Successfully Sent !***") | |
| return True | |
| except Exception as e: | |
| print("Error while sending feedback email => ", e) | |
| return False |