【问题标题】:Mailgun laravel 4.2 change version "v2" to "v3"Mailgun laravel 4.2 将版本“v2”更改为“v3”
【发布时间】:2015-10-04 02:43:39
【问题描述】:

我正在使用 Laravel 4.2 和 Mailgun。

mailgun api的base url改变了,现在是https://api.mailgun.net/v3/.........

当我使用 Laravel 执行请求时,它看起来像:https://api.mailgun.net/v2/.........

我检查了处理该问题的 Facade:

// vendor/laravel/framework/src/Illuminate/Mail/Transport/MailgunTransport.php
/**
 * Set the domain being used by the transport.
 *
 * @param  string  $domain
 * @return void
 */
public function setDomain($domain)
{
    $this->url = 'https://api.mailgun.net/v2/'.$domain.'/messages.mime';

    return $this->domain = $domain;
}

版本是硬编码的......我怎样才能正确地改变它?

【问题讨论】:

    标签: laravel mailgun


    【解决方案1】:

    Laravel 4.2 是使用 mailgun v2 构建的。您可能可以在代码中将 v2 更改为 v3,它可能会起作用,因为 mailgun 的 v3 是向后兼容的。 (http://blog.mailgun.com/default-api-version-now-v3/) 但它不是最好的解决方案。

    您可以使用像 https://github.com/Bogardo/Mailgun 这样使用 mailgun v3 api 的外部依赖项。

    【讨论】:

      【解决方案2】:

      我建议对有问题的类的代码进行代码更改,并将其作为拉取请求提交回 Laravel 的 Github。

      我同意你的观点,它看起来完全是硬编码的,除了这样做之外无法更改,所以这似乎是你最好的选择。

      有一点需要注意:我不知道 mailgun API,但如果它从 v2 变为 v3,则意味着 API 发生了一些重大变化,所以不要认为你可以只更改数字 '2' 变成 '3' 并期望它能够工作;您可能还需要更改进行相关 API 调用的代码。

      【讨论】:

      • 刚刚检查了 mailgun 的 API,它们很聪明,你仍然可以毫无问题地使用 API ;) (仍然不适用于我的邮件配置,但我会继续看看那里发生了什么)
      猜你喜欢
      • 1970-01-01
      • 2016-06-28
      • 2016-05-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-01
      • 2017-10-08
      • 2021-09-22
      相关资源
      最近更新 更多