Skip to content

Commit b925d81

Browse files
authored
Merge pull request #103 from samtlewis/support_for_laravel_9
Support for laravel 9
2 parents 3f96076 + 7f57fab commit b925d81

File tree

3 files changed

+72
-5
lines changed

3 files changed

+72
-5
lines changed

.github/workflows/run-tests.yml

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
name: run-tests
2+
3+
on: [push, pull_request]
4+
5+
jobs:
6+
test:
7+
runs-on: ${{ matrix.os }}
8+
strategy:
9+
fail-fast: false
10+
matrix:
11+
os: [ubuntu-latest]
12+
php: [7.3, 8.0, 8.1]
13+
laravel: [9.*, 8.*, 7.*, 6.*]
14+
stability: [prefer-stable]
15+
exclude:
16+
- php: 7.3
17+
laravel: 9.*
18+
- php: 8.1
19+
laravel: 7.*
20+
- php: 8.1
21+
laravel: 6.*
22+
include:
23+
- laravel: 9.*
24+
testbench: 7.*
25+
- laravel: 8.*
26+
testbench: 6.23
27+
- laravel: 7.*
28+
testbench: 5.20.0
29+
- laravel: 6.*
30+
testbench: 4.18.0
31+
32+
name: P${{ matrix.php }} - L${{ matrix.laravel }} - ${{ matrix.stability }} - ${{ matrix.os }}
33+
34+
steps:
35+
- name: Checkout code
36+
uses: actions/checkout@v2
37+
38+
- name: Setup PHP
39+
uses: shivammathur/setup-php@v2
40+
with:
41+
php-version: ${{ matrix.php }}
42+
extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite, bcmath, soap, intl, gd, exif, iconv, imagick
43+
coverage: none
44+
45+
# - name: Setup problem matchers
46+
# run: |
47+
# echo "::add-matcher::${{ runner.tool_cache }}/php.json"
48+
# echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json"
49+
#
50+
- name: Install dependencies
51+
run: |
52+
composer install
53+
composer require "laravel/framework:${{ matrix.laravel }}" "orchestra/testbench:${{ matrix.testbench }}" --no-interaction --no-update
54+
composer update --${{ matrix.stability }} --prefer-dist --no-interaction
55+
56+
- name: Execute tests
57+
run: vendor/bin/phpunit

src/Drivers/Log.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,11 @@ public function processLog(MessageSent $event)
1919
return;
2020
}
2121

22+
$message = version_compare(app()->version(), '9.0.0', '>') ? $event->sent->toString() : $event->message;
23+
2224
/** @var InboundEmail $modelClass */
2325
$modelClass = config('mailbox.model');
24-
$email = $modelClass::fromMessage($event->message);
26+
$email = $modelClass::fromMessage($message);
2527

2628
Mailbox::callMailboxes($email);
2729
}

src/InboundEmail.php

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -149,12 +149,20 @@ public function message(): MimeMessage
149149
public function reply(Mailable $mailable)
150150
{
151151
if ($mailable instanceof \Illuminate\Mail\Mailable) {
152-
$mailable->withSwiftMessage(function (\Swift_Message $message) {
153-
$message->getHeaders()->addIdHeader('In-Reply-To', $this->id());
154-
});
152+
$usesSymfonyMailer = version_compare(app()->version(), '9.0.0', '>');
153+
154+
if ($usesSymfonyMailer) {
155+
$mailable->withSymfonyMessage(function (\Symfony\Component\Mime\Email $email) {
156+
$email->getHeaders()->addIdHeader('In-Reply-To', $this->id());
157+
});
158+
} else {
159+
$mailable->withSwiftMessage(function (\Swift_Message $message) {
160+
$message->getHeaders()->addIdHeader('In-Reply-To', $this->id());
161+
});
162+
}
155163
}
156164

157-
return Mail::to($this->from())->send($mailable);
165+
return Mail::to($this->headerValue('Reply-To') ?: $this->from())->send($mailable);
158166
}
159167

160168
public function forward($recipients)

0 commit comments

Comments
 (0)