Aşağıdaki Python kodunu kullanarak, parametrik olarak mail gönderebiliriz.
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
def sendMailForHTML(html, subj, mail_server_config, mail_from_to):
server_ip = mail_server_config["server_ip"]
server_port = mail_server_config["server_port"]
mail_server_username = mail_server_config["mail_server_username"]
mail_server_pass = mail_server_config["mail_server_pass"]
from_email = mail_from_to["from_email"]
to_email = mail_from_to["to_email"]
# send mail section
try:
server = smtplib.SMTP(server_ip, server_port)
# server.set_debuglevel(1)
server.connect(server_ip, server_port)
server.ehlo()
server.starttls()
server.ehlo()
# Next, log in to the server
server.login(mail_server_username, mail_server_pass)
print("Mail server connection successful...")
msg = MIMEMultipart('alternative')
if html is not None:
msg['Subject'] = subj
msg['From'] = from_email
msg['To'] = ','.join(to_email)
html_text = MIMEText(html.encode('utf-8'), 'html', 'utf-8')
msg.attach(html_text)
# Send the mail
server.sendmail(from_email, to_email, msg.as_string())
print("Mail sent successfully...")
else:
print("Nothing to send with email..")
except smtplib.SMTPException as e:
print("Something wrong with SMTP server : " + str(e))
# mail config
mail_config = {
"server_ip": "mail_server",
"server_port": PORT_NUMBER,
"mail_server_username": "test@test.com",
"mail_server_pass": "password"
}
from_to = {
"from_email": "from@from.com",
"to_email": ['to@mail.com']
}
subj = "Subject"
html = "HTML Mail Content"
sendMailForHTML(html, subj, mail_config, from_to)