【问题标题】:Routing mail through SMTP and also using API通过 SMTP 路由邮件并使用 API
【发布时间】:2017-04-07 18:18:00
【问题描述】:

我构建了一个应用程序(SaaS – Laravel/PHP),我的目标是通过该应用程序发送交易邮件,并通过我的应用程序发送一般电子邮件。我的交易邮件通过我的发送域工作(使用 spark post 的 api-php 配置)。

现在,我想配置我的系统,以便登录的用户也可以通过他/她自己的电子邮件地址(这也是他/她用于登录的用户名)发送电子邮件;我认为他们的消息只会通过我的发送域路由(“发件人标头”类似于来自用户通过我的发送域发送的电子邮件)。

除了使用 sparkpost 的 API 创建的作业类之外,我是否还设置了 SMTP 中继?我是否将所有内容都配置到 sparkpost 的 api 中;我不知道如何解决这个问题。有没有人遇到过同样的问题/找到了解决方案?

【问题讨论】:

    标签: sparkpost


    【解决方案1】:

    提供一般的电子邮件发送服务是一个相当广泛的话题。以下是根据您的问题提出的一些基本意见。

    全面披露:我为 SparkPost 工作。

    总之,您可以使用 SparkPost 或您自己的 SMTP 中继来发送您的用户邮件,但有一些注意事项。 IMO,使用 API 驱动的服务会比 SMTP 中继服务器更易于管理。

    发件人地址

    首先,重要的是要认识到在没有域所有者明确授权的情况下客户域发送邮件的风险。现代电子邮件域使用多种机制(SPFDKIMDMARC、...)来确保只有授权方可以代表他们发送邮件。如果没有这些机制,任何人都可以通过电子邮件冒充其他人。

    因此,我建议您不要从客户电子邮件地址发送邮件。相反,您可以使用自己的域,或者使用像 usermail@yourdomain.com 这样的通用地址,或者嵌入您的用户电子邮件地址。

    发送普通邮件

    您的用户通过您的服务发送的消息将影响您作为电子邮件发件人的声誉。我建议考虑提供服务的方法,而不是为垃圾邮件发送者提供简单、可自动化的发送服务。这可能包括限制人们可以发送的消息类型、速度或数量,包括邮寄表单上的 reCAPTCHA 或可能在允许用户使用邮寄服务之前对其进行审查。

    SparkPost 详细信息

    您通过 SparkPost 发送的邮件必须使用您控制的发送域。由于 SparkPost 管理投递,因此通过您的 SparkPost 帐户发送的任何邮件都会影响您帐户的声誉,因此不需要的邮件可能会导致您的帐户被暂停。您可能会考虑使用 subaccounts 来分隔每个用户的电子邮件流量,而 understanding suppression lists 如何保护 SparkPost 帐户也很有用。

     SMTP 中继详细信息

    SparkPost 详细信息 注释中的相同警告适用于此,但您必须直接管理与每个接收域(live.com、gmail 等)的关系。您的应用还必须包含通常的退订和退回处理功能。

    【讨论】:

    • 非常感谢——您的回复让我思路清晰
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-05
    • 2012-09-10
    • 2010-12-21
    • 2011-03-17
    • 2021-11-03
    • 2013-09-03
    相关资源
    最近更新 更多