【发布时间】:2020-10-30 02:11:52
【问题描述】:
public function sample(){
// USER SUBSCRIPTION
$Subscriber = Subscriber::find(100021);
$email = 'jakeromeopeniano@gmail.com';
Mail::to($email)->send(new Subscribed($Subscriber));
if(Mail::failures()){
return Mail::failures();
}
return 'email sent to ' . $email;
}
我很困惑。我刚刚更换了我的域名托管服务商,现在我的电子邮件出现了问题。但我确信我已经在我的环境中设置了正确的细节。如果我使用 mail::send() 函数,电子邮件会成功发送到 mailgun。但是,如果我使用 mail::to() 函数,我不会收到任何错误,但不会发送电子邮件。我还检查了日志,也没有错误。这是我的代码:
<?php
namespace App\Mail;
use App\Subscriber;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
class Subscribed extends Mailable implements ShouldQueue
{
use Queueable, SerializesModels;
public $subscriber;
public $password;
public $tries = 2;
/**
* Create a new message instance.
*
* @return void
*/
public function __construct(Subscriber $subscriber, $password = "****")
{
$this->subscriber = $subscriber;
$this->password = $password;
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
$subscription = $this->subscriber->subscription;
$subscriber = $this->subscriber;
$password = $this->password;
return $this->markdown('emails.subscription.subscribed', compact('subscriber', 'password'))
->subject($subscription->name . ' subscribed successfully.');
}
}
【问题讨论】:
-
您是否检查过您的主机中是否有端口被阻塞?如果 mailgun 工作正常,则说明背后的编程逻辑没有问题(当然,乍一看),请检查您与 smtp 服务器的连接。
-
@DanielaC.Montenegro 如果这是一个奇怪的问题,我很抱歉,但正如我在问题中提到的,如果我使用 laravel 的 mail::send() 函数,电子邮件发送成功。如果我使用发布在问题 mail::to() 中的原始代码,麻烦就来了。
-
这可能是外观调用的问题,然后...检查this,他们改用了\Mail::send。
-
在这里发帖时请不要大喊大叫。全部大写的文本更难阅读和理解,并且 SHOUTING 不会让您更快地得到答案。在寻求免费帮助来解决你的问题时来这里大喊大叫也是相当不礼貌的。谢谢。
标签: laravel email smtp phpmailer mailgun