44 lines
1.7 KiB
Python
44 lines
1.7 KiB
Python
import email, smtplib, ssl
|
|
|
|
from email import encoders
|
|
from email.mime.base import MIMEBase
|
|
#from email.mime.multipart import MIMEMultipart
|
|
from email.message import EmailMessage
|
|
from email.mime.text import MIMEText
|
|
|
|
#move to .env or something
|
|
USER_ID = 'mc536304'
|
|
PASSWORD = 'Traceur22Traceur'
|
|
SMTP_SERVER = 'mailout.privat.bahnhof.se'
|
|
PORT = 465 # For SSL
|
|
SENDER_EMAIL = 'johan@rydson.st'
|
|
|
|
def _send_mail(smtp_server: str, port: int, sender_email: str, receiver_email: str, user_id: str, password: str, subject: str, body: str):
|
|
"""Send an email using the specified SMTP server and credentials."""
|
|
# Create a multipart message and set headers
|
|
#message = MIMEMultipart()
|
|
message = EmailMessage()
|
|
message["From"] = sender_email
|
|
message["To"] = receiver_email
|
|
message["Subject"] = subject
|
|
message.set_content(body)
|
|
|
|
# Log in to server using secure context and send email
|
|
try:
|
|
context = ssl.create_default_context()
|
|
with smtplib.SMTP_SSL(smtp_server, port, context=context) as server:
|
|
server.login(user_id, password)
|
|
server.sendmail(sender_email, receiver_email, message.as_string())
|
|
except Exception as e:
|
|
print(f"Error sending email: {e}")
|
|
|
|
def tool_send_mail(receiver_email: str, subject:str, body:str):
|
|
"""Send an email using predefined SMTP server and credentials."""
|
|
_send_mail(SMTP_SERVER, PORT, SENDER_EMAIL, receiver_email, USER_ID, PASSWORD, subject, body)
|
|
|
|
if __name__ == '__main__':
|
|
import sys
|
|
if len(sys.argv) == 4:
|
|
tool_send_mail(sys.argv[1], sys.argv[2], sys.argv[3])
|
|
else:
|
|
tool_send_mail('johan.p1sson@gmail.com', 'Test Subject3', 'This is a test email body\n 67.') |