正确使用sendgrid

时间:2016-01-13 19:49:23

标签: smtp sendgrid

我使用Python sendgrid库发送电子邮件。 但是,我有一些奇怪的问题。

我在Sendgrid上创建了一个模板,并使用该模板ID发送电子邮件。

但是在python代码中,我需要: 1.调用set_subject(..),即使我不想修改主题。我理解这是因为<%subject%>必须出现在模板中。有没有办法选择不指定<%subject%>在模板中避免set_subject(参数)函数调用? (现在我用一个空字符串调用set_subject。)

  1. 同样适用于set_text(..)。同样,这是因为<%body%>必须出现在模板中。有没有办法避免添加<%body%>在模板中因此没有set_text(参数)函数调用? (现在我用空字符串调用set_text。)

  2. 我有一个html格式的电子邮件模板。如果我不调用set_html(..)函数,则电子邮件将作为纯文本电子邮件发送而不进行格式化。但是,如果我set_html("某些样式"),则会发送包含所有格式的电子邮件。如果我需要从代码中调用set_html(参数),设置模板的用途是什么?

  3. 以下参考是我正在使用的代码:

    import sendgrid
    def send_twitch_welcome_message(user_name, user_email, confirmation_url=None):        if not sg:
            return 500, 'SendGrid not configured'
        message = sendgrid.Mail()
        message.add_filter('templates', 'enable', '1')
        message.add_filter('templates', 'template_id',
                some_template_id)
        message.add_to(desired_email_idl)
        message.set_from(my_email_id)
    
        message.set_subject(' ')
        message.set_text(' ')
        message.set_html("""
            <h3 style="margin-bottom: 20px; font-size:18px; color:#000000;
            font-family:tahoma,geneva,sans-serif; font-weight:normal;">
            Something !</h3>
            """) # This works fine, but commenting this function call leads to text-only email
    
    
        message.add_substitution('key', value)
        status, msg = sg.send(message)
        return status, msg
    

0 个答案:

没有答案