Skip to content

Commit bffa0da

Browse files
authored
Merge pull request #660 from ReWiG/patch-8
Update mail.md
2 parents c69543b + ddd22aa commit bffa0da

File tree

1 file changed

+26
-12
lines changed

1 file changed

+26
-12
lines changed

mail.md

Lines changed: 26 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
git: f52fc17d93bcfe5c46fa19014b1d16280e78827d
2+
git: 2fc3ac7cb75eaa8537e73713000ada6048cb980a
33
---
44

55
# Отправка электронной почты
@@ -58,7 +58,7 @@ composer require symfony/mailgun-mailer symfony/http-client
5858
],
5959
```
6060

61-
Если вы не используете [регион Mailgun](https://documentation.mailgun.com/en/latest/api-intro.html#mailgun-regions) США, то вы можете определить конечную точку своего региона в конфигурации файла `services`:
61+
Если вы не используете [регион Mailgun](https://documentation.mailgun.com/docs/mailgun/api-reference/#mailgun-regions) США, то вы можете определить конечную точку своего региона в конфигурации файла `services`:
6262

6363
```php
6464
'mailgun' => [
@@ -224,6 +224,7 @@ MAILERSEND_API_KEY=ваш-ключ-api
224224
'mailgun',
225225
'sendmail',
226226
],
227+
'retry_after' => 60,
227228
],
228229

229230
// ...
@@ -249,6 +250,7 @@ MAILERSEND_API_KEY=ваш-ключ-api
249250
'ses',
250251
'postmark',
251252
],
253+
'retry_after' => 60,
252254
],
253255

254256
// ...
@@ -1120,7 +1122,7 @@ Mail::to($request->user())->locale('es')->send(
11201122
```
11211123

11221124
<a name="user-preferred-locales"></a>
1123-
### Предпочитаемые пользователем локализации
1125+
#### Предпочитаемые пользователем локализации
11241126

11251127
Иногда приложения хранят предпочтительный язык каждого пользователя. Реализуя контракт `HasLocalePreference` в ваших моделях, вы можете указать Laravel использовать этот сохраненный язык при отправке почты:
11261128

@@ -1151,9 +1153,7 @@ Mail::to($request->user())->send(new OrderShipped($order));
11511153
<a name="testing-mailable-content"></a>
11521154
### Тестирование содержимого отправлений
11531155

1154-
Laravel предоставляет разнообразные методы для анализа структуры вашего класса для отправки электронной почты. Кроме того, Laravel предоставляет несколько удобных методов для проверки наличия ожидаемого содержимого в вашем классе для отправки электронной почты. Эти методы включают в себя: `assertSeeInHtml`, `assertDontSeeInHtml`, `assertSeeInOrderInHtml`, `assertSeeInText`, `assertDontSeeInText`, `assertSeeInOrderInText`, `assertHasAttachment`, `assertHasAttachedData`, `assertHasAttachmentFromStorage` и `assertHasAttachmentFromStorageDisk`.
1155-
1156-
Как и следовало ожидать, утверждения «HTML» утверждают, что HTML-версия вашего почтового сообщения содержит переданную строку, в то время как утверждения «текст» утверждают, что текстовая версия вашего почтового сообщения содержит переданную строку:
1156+
Laravel предоставляет множество методов для проверки структуры почтовых сообщений. Кроме того, Laravel предлагает несколько удобных методов для проверки того, что ваше почтовое сообщение содержит ожидаемый контент:
11571157

11581158
```php tab=Pest
11591159
use App\Mail\InvoicePaid;
@@ -1174,10 +1174,11 @@ test('mailable content', function () {
11741174
$mailable->assertHasMetadata('key', 'value');
11751175

11761176
$mailable->assertSeeInHtml($user->email);
1177-
$mailable->assertSeeInHtml('Invoice Paid');
1177+
$mailable->assertDontSeeInHtml('Invoice Not Paid');
11781178
$mailable->assertSeeInOrderInHtml(['Invoice Paid', 'Thanks']);
11791179

11801180
$mailable->assertSeeInText($user->email);
1181+
$mailable->assertDontSeeInText('Invoice Not Paid');
11811182
$mailable->assertSeeInOrderInText(['Invoice Paid', 'Thanks']);
11821183

11831184
$mailable->assertHasAttachment('/path/to/file');
@@ -1208,10 +1209,11 @@ public function test_mailable_content(): void
12081209
$mailable->assertHasMetadata('key', 'value');
12091210

12101211
$mailable->assertSeeInHtml($user->email);
1211-
$mailable->assertSeeInHtml('Invoice Paid');
1212+
$mailable->assertDontSeeInHtml('Invoice Not Paid');
12121213
$mailable->assertSeeInOrderInHtml(['Invoice Paid', 'Thanks']);
12131214

12141215
$mailable->assertSeeInText($user->email);
1216+
$mailable->assertDontSeeInText('Invoice Not Paid');
12151217
$mailable->assertSeeInOrderInText(['Invoice Paid', 'Thanks']);
12161218

12171219
$mailable->assertHasAttachment('/path/to/file');
@@ -1222,6 +1224,8 @@ public function test_mailable_content(): void
12221224
}
12231225
```
12241226

1227+
Как и следовало ожидать, утверждения «HTML» утверждают, что HTML-версия вашего почтового сообщения содержит заданную строку, тогда как утверждения «text» утверждают, что версия вашего почтового сообщения в виде простого текста содержит заданную строку.
1228+
12251229
<a name="testing-mailable-sending"></a>
12261230
### Тестирование отправки почтовых сообщений
12271231

@@ -1430,9 +1434,13 @@ class LogMessage
14301434
<a name="custom-transports"></a>
14311435
## Пользовательские транспорты
14321436

1433-
Laravel включает в себя разнообразные транспорты для отправки электронной почты; однако, возможно, вам захочется написать собственные для доставки электронной почты через другие службы, которые Laravel не поддерживает "из коробки". Для начала определите класс, который расширяет класс `Symfony\Component\Mailer\Transport\AbstractTransport`. Затем реализуйте методы `doSend` и `__toString()` в вашем транспорте:
1437+
Laravel включает в себя разнообразные транспорты для отправки электронной почты; однако, возможно, вам захочется написать собственные для доставки электронной почты через другие службы, которые Laravel не поддерживает "из коробки". Для начала определите класс, который расширяет класс `Symfony\Component\Mailer\Transport\AbstractTransport`. Затем реализуйте методы `doSend` и `__toString` в вашем транспорте:
14341438

14351439
```php
1440+
<?php
1441+
1442+
namespace App\Mail;
1443+
14361444
use MailchimpTransactional\ApiClient;
14371445
use Symfony\Component\Mailer\SentMessage;
14381446
use Symfony\Component\Mailer\Transport\AbstractTransport;
@@ -1477,19 +1485,24 @@ class MailchimpTransport extends AbstractTransport
14771485
}
14781486
```
14791487

1480-
После того как вы определите свой собственный транспорт, вы можете зарегистрировать его с помощью метода `extend`, предоставляемого фасадом `Mail`. Обычно это следует делать в методе `boot` служб-поставщиков вашего приложения, который находится в службе `AppServiceProvider`. Вам передается аргумент `$config`, который содержит массив конфигурации, определенной для отправителя почты в конфигурационном файле `config/mail.php` вашего приложения:
1488+
После того как вы определите свой собственный транспорт, вы можете зарегистрировать его с помощью метода `extend`, предоставляемого фасадом `Mail`. Обычно это следует делать в методе `boot` объекта `AppServiceProvider` вашего приложения. Вам передается аргумент `$config`, который содержит массив конфигурации, определенной для отправителя почты в конфигурационном файле `config/mail.php` вашего приложения:
14811489

14821490
```php
14831491
use App\Mail\MailchimpTransport;
14841492
use Illuminate\Support\Facades\Mail;
1493+
use MailchimpTransactional\ApiClient;
14851494

14861495
/**
14871496
* Bootstrap any application services.
14881497
*/
14891498
public function boot(): void
14901499
{
14911500
Mail::extend('mailchimp', function (array $config = []) {
1492-
return new MailchimpTransport(/* ... */);
1501+
$client = new ApiClient;
1502+
1503+
$client->setApiKey($config['key']);
1504+
1505+
return new MailchimpTransport($client);
14931506
});
14941507
}
14951508
```
@@ -1499,6 +1512,7 @@ public function boot(): void
14991512
```php
15001513
'mailchimp' => [
15011514
'transport' => 'mailchimp',
1515+
'key' => env('MAILCHIMP_API_KEY'),
15021516
// ...
15031517
],
15041518
```
@@ -1517,7 +1531,7 @@ composer require symfony/brevo-mailer symfony/http-client
15171531

15181532
```php
15191533
'brevo' => [
1520-
'key' => 'ваш-ключ-api',
1534+
'key' => env('BREVO_API_KEY'),
15211535
],
15221536
```
15231537

0 commit comments

Comments
 (0)