gpt4 book ai didi

php - 发送包含与收件人相关内容的 Laravel 邮件

转载 作者:行者123 更新时间:2023-12-04 08:23:37 28 4
gpt4 key购买 nike

如何发送包含与特定公司相关的产品详细信息的邮件,请参阅下面的代码进一步说明:
这是我的 Controller.php 代码:

    foreach ($order->products as $product){
foreach ([$product->company_email] as $recipient) {
Mail::to($recipient)->send(new SendCompanyEmail($order));
}
}
这是我的 SendCompanyEmail.php 代码:
public function __construct(Order $order)
{
$this->order = $order;
}

public function build()
{
return $this->markdown('emails.company-email')
->subject('New Order Placed');
}
这是我的 company-email.blade.php 代码:
@foreach($order->products as $product)
Name: {{ $product->name }}
Price: {{ $product->price }} USD
Company Email: {{ $product->company_email }}
@endforeach
我从 2 家不同的公司订购了 2 种产品,我希望向每家公司发送一封电子邮件,其中包含自己的产品详细信息。
问题是,当电子邮件发送时,它会发送给两家公司,但包含我订购的所有产品。
这是输出电子邮件:
至:company1@company1.com
Name:   Product 1
Price: 10.00 USD
Company Email: company1@company1.com

Name: Product 2
Price: 12.00 USD
Company Email: company2@company2.com
至:company2@company2.com
Name:   Product 1
Price: 10.00 USD
Company Email: company1@company1.com

Name: Product 2
Price: 12.00 USD
Company Email: company2@company2.com
我真正想要的是将电子邮件发送给两家公司,但包含各自的产品详细信息。
这是我想要的输出电子邮件:
至:company1@company1.com
Name:   Product 1
Price: 10.00 USD
Company Email: company1@company1.com
至:company2@company2.com
Name:   Product 2
Price: 12.00 USD
Company Email: company2@company2.com

最佳答案

您应该按每个公司对您的产品进行分组。
在您的 Controller 中,执行分组逻辑并为每封电子邮件发送一组产品:

$companiesProducts = [];

foreach ($order->products as $product) {
$companiesProducts[$product->company_email][] = $product;
}

foreach ($companiesProducts as $email => $products) {
Mail::to($email)->send(new SendCompanyEmail($products));
}
在您的电子邮件类(class)中:
public function __construct($products)
{
$this->products = $products;
}

public function build()
{
// pass $this->products to your email view
return $this->markdown('emails.company-email')
->subject('New Order Placed');
}
并在您的 View 中更改文件 $order->products到您传递的产品参数。

关于php - 发送包含与收件人相关内容的 Laravel 邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65379489/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com