我有一个应用程序(SaaS - Laravel / PHP),我的目标是通过应用程序发送交易邮件,并通过我的应用程序发送一般电子邮件。我的交易邮件正在通过我的发送域工作(使用spark post的api-php配置)。
现在,我想配置我的系统,以便登录的用户也可以通过他/她自己的电子邮件地址发送电子邮件(这也是他/她用来登录的用户名);我认为他们的消息只会通过我的发送域路由(“from header”就像用户通过我的发送域发送电子邮件一样)。
除了使用sparkpost的API创建的作业类之外,我还要设置SMTP中继吗?我是否将所有内容配置为sparkpost的api;我不知道如何解决这个问题。有没有人遇到同样的问题/找到解决方案?
答案 0 :(得分:0)
提供一般的电子邮件发送服务是一个相当广泛的主题。以下是基于您的问题的一些基本观察结果。
完全披露:我为SparkPost工作。
总之,您可以使用SparkPost或您自己的SMTP中继向您的用户邮件发送一些警告。 IMO使用API驱动的服务比SMTP中继服务器更易于管理。
首先,重要的是要认识到在没有域所有者明确授权的情况下从客户域发送邮件的风险。现代电子邮件域使用多种机制(SPF,DKIM,DMARC,...)以确保只有授权方才能代表他们发送邮件。没有这些机制,任何人都可以通过电子邮件冒充其他任何人。
出于这个原因,我建议您不要从客户电子邮件地址发送邮件。相反,您可以使用自己的域名,使用通用地址usermail@yourdomain.com
或嵌入用户电子邮件地址。
用户通过您的服务发送的邮件会影响您作为电子邮件发件人的声誉。我建议考虑提供服务的方法,而不是为垃圾邮件发送者提供简单,可自动化的发送服务。这可能包括限制人们可以发送的消息类型,速度或数量,包括邮件表单上的reCAPTCHA或可能在让用户使用邮件服务之前审查用户。
您通过SparkPost发送的邮件必须使用您控制的发送域。由于SparkPost管理交付,因此通过SparkPost帐户发送的任何邮件都会影响您帐户的信誉,因此不受欢迎的邮件可能会导致您的帐户被暂停。您可以考虑使用subaccounts分隔每个用户的电子邮件流量,understanding suppression lists如何保护SparkPost帐户也很有用。
SparkPost详细信息中的相同注意事项适用于此处,但您必须直接管理与每个接收域(live.com,gmail等)的关系。您的应用还必须包含通常的取消订阅和退回处理功能。