fix sendmail
This commit is contained in:
parent
babd3d1688
commit
e1b20eca87
|
@ -114,24 +114,26 @@ def setup_workdir():
|
||||||
# subprocess.run([SENDMAIL_LOCATION, "-t", "-oi"], input=msg)
|
# subprocess.run([SENDMAIL_LOCATION, "-t", "-oi"], input=msg)
|
||||||
|
|
||||||
|
|
||||||
def sendmail_with_attachment(headers, data, attachment_path, filename):
|
def sendmail_with_attachment(headers, data, attachment_path=None, filename=None):
|
||||||
# Parse headers
|
# Parse headers
|
||||||
msg = MIMEMultipart()
|
msg = MIMEMultipart()
|
||||||
for header in headers.split("\n"):
|
for header in headers.split("\n"):
|
||||||
if ": " in header:
|
if ": " in header:
|
||||||
key, value = header.split(": ", 1)
|
key, value = header.split(": ", 1)
|
||||||
msg[key] = value
|
msg[key] = value.strip()
|
||||||
|
|
||||||
# Add the email body
|
# Add the email body
|
||||||
body = MIMEText(data, 'plain', 'utf-8')
|
body = MIMEText(data, 'plain', 'utf-8')
|
||||||
msg.attach(body)
|
msg.attach(body)
|
||||||
|
|
||||||
# Add the attachment
|
# Add the attachment only if attachment_path is provided
|
||||||
attachment = MIMEBase('application', 'octet-stream')
|
if attachment_path and filename:
|
||||||
attachment.set_payload(Path(attachment_path).read_bytes())
|
attachment = MIMEBase('application', 'octet-stream')
|
||||||
encoders.encode_base64(attachment)
|
with open(attachment_path, "rb") as attach_file:
|
||||||
attachment.add_header('Content-Disposition', f'attachment; filename={filename}')
|
attachment.set_payload(attach_file.read())
|
||||||
msg.attach(attachment)
|
encoders.encode_base64(attachment)
|
||||||
|
attachment.add_header('Content-Disposition', f'attachment; filename={filename}')
|
||||||
|
msg.attach(attachment)
|
||||||
|
|
||||||
# Send the email
|
# Send the email
|
||||||
try:
|
try:
|
||||||
|
@ -143,6 +145,7 @@ def sendmail_with_attachment(headers, data, attachment_path, filename):
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(f"Failed to send email: {e}")
|
print(f"Failed to send email: {e}")
|
||||||
|
|
||||||
|
|
||||||
def gestion_get_expired():
|
def gestion_get_expired():
|
||||||
request_expired = "SELECT id_user FROM services_users su " +\
|
request_expired = "SELECT id_user FROM services_users su " +\
|
||||||
"INNER JOIN users m ON m.id = su.id_user " +\
|
"INNER JOIN users m ON m.id = su.id_user " +\
|
||||||
|
|
|
@ -105,7 +105,7 @@ def sendmail_with_attachment(headers, body, attachment_path, attachment_filename
|
||||||
server.starttls() # Secure the connection
|
server.starttls() # Secure the connection
|
||||||
server.login(SMTP_USER, smtp_get_secret()) # Fetch SMTP password from file
|
server.login(SMTP_USER, smtp_get_secret()) # Fetch SMTP password from file
|
||||||
server.sendmail(SMTP_USER, msg['To'], msg.as_string())
|
server.sendmail(SMTP_USER, msg['To'], msg.as_string())
|
||||||
#print(f"Email sent to {msg['To']}")
|
print(f"Email sent to {msg['To']}")
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(f"Error sending email: {e}")
|
print(f"Error sending email: {e}")
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue