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 = 'pragnakalp.dev35@gmail.com' | |
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 = 'hetvi199808@gmail.com' | |
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") | |
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 |