Magento 2.0.7:订阅出现问题。

Magento 2.0.7: Something went wrong with the subscription.

订阅时事通讯时出错。怎么修?

这是这个错误的问题和解决方案:

当我们输入一个新的电子邮件地址(未连接到现有订阅者的地址)时,订阅者对象 ($this) 还没有 ID ($this->getId(); // null) Magento\Newsletter\Model\Subscriber::订阅.

在保存订阅者之前发送了验证电子邮件,因此验证中缺少订阅者 ID link。 link 当你点击它时没有做任何事情,因为 Magento\Newsletter\Controller\Subscriber\Confirm::execute 中的验证方法因为缺少 id 而拒绝 link .

您可以通过在调用 $this->sendConfirmationRequestEmail(); 之前调用 $this->save() 轻松解决问题

   try {
            $this->save();
            if($isConfirmNeed === true && $isOwnSubscribes === false)
            {
                $this->sendConfirmationRequestEmail();
            } else {
                $this->sendConfirmationSuccessEmail();
            }
            return $this->getStatus();
        } catch (\Exception $e) {
            throw new \Exception($e->getMessage());
        }

我只是移动了''save'''- 呼叫几行。 sendConfirmationRequestEmailsendConfirmationSuccessEmail 似乎没有改变 $thisobject,所以这是一个有效的改变不要破坏其他任何东西。

我刚刚在 Magento 2 中将 "Disable Email Communications" 更改为是(商店 > 配置 > 高级 > 系统 > 邮件发送设置 > 禁用电子邮件通信)。