0

Full disclosure: I am very new to coding and I really don't know what I'm doing. Currently trying to send multiple transactional emails using SendinBlue SMTP API based on the one I pick. I have already made the templates on SendinBlue, but how do I call a specific template?

My code

from __future__ import print_function
import sib_api_v3_sdk
import smtplib
from sib_api_v3_sdk.rest import ApiException
from pprint import pprint
from email.mime.text import MIMEText
from flask import request, render_template
from sql_helper import *
# Configuration of API key authorization:
api_config = sib_api_v3_sdk.Configuration()
api_config.api_key['api-key'] = 'api_key'

#If Partnership Account:
#api_config = sib_api_v3_sdk.Configuration()
#api_config.api_key['partner-key'] = 'API_Key'

api_instance = sib_api_v3_sdk.TransactionalEmailsApi(sib_api_v3_sdk.ApiClient(api_config))
subject = "My Subject"
html_content = "<html><body><h1>This is my first transactional email </h1></body></html>"
sender = {"name":"company name","email":"admin@company.com"}
to = [{"email":"example@example.com","name":"Jane Doe"}]
# cc = [{"email":"example2@example2.com","name":"Janice Doe"}]
# bcc = [{"name":"John Doe","email":"example@example.com"}]
reply_to = {"email":"admin@company.com","name":"John Doe"}
headers = {"Some-Custom-Name":"unique-id-1234"}
params = {"parameter":"My param value","subject":"New Subject"}
send_smtp_email = sib_api_v3_sdk.SendSmtpEmail(to=to, reply_to=reply_to, headers=headers, html_content=html_content, sender=sender, subject=subject)

def send_email(template, recipient, custom_message = None):
    if template == "approve":
        template_id = 1
    elif template == "deny":
        template_id = 2
    elif template == "skip":
        template_id = 3
try:
    #send transactional email
    api_response = api_instance.send_transac_email(send_smtp_email)
    pprint(api_response)
except ApiException as e:
    print("Exception when calling SMTPApi -> send_transac_email: %s\n" % e)

Any help would be appreciated.

I really am not quite sure what I'm doing, so anything would help. I'm sorry if the code is bad, I'm just starting out.

  • Since you included `from __future__ import print_function`, do you need a solution that works with Python 2? Do note that all releases of Python 2 have [reached their end-of-life](https://www.python.org/doc/sunset-python-2/). You should strongly consider upgrading to a maintained version if you are able. – Brian61354270 Feb 13 '23 at 15:58
  • Hey Brian. I was intending to use python3. I will correct this error. Thank you very much! – Abdeali Diwan Feb 13 '23 at 16:53
  • @Brian do you know how I may go about calling template 1 which sends the recipient that they have been accepted – Abdeali Diwan Feb 13 '23 at 18:14

0 Answers0