Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitcc6c14f

Browse files
committed
fix: support SmsMessage with 'from' set
Fixes `Error Email does not comply with addr-spec of RFC 2822`See:#58535
1 parent7b4ec02 commitcc6c14f

File tree

4 files changed

+32
-7
lines changed

4 files changed

+32
-7
lines changed

‎src/Symfony/Component/Notifier/Bridge/FakeSms/FakeSmsEmailTransport.php

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ public function supports(MessageInterface $message): bool
5454
}
5555

5656
/**
57-
* @param MessageInterface|SmsMessage $message
57+
* @param MessageInterface $message
5858
*
5959
* @throws TransportExceptionInterface
6060
*/
@@ -64,10 +64,12 @@ protected function doSend(MessageInterface $message): SentMessage
6464
thrownewUnsupportedMessageTypeException(__CLASS__, SmsMessage::class,$message);
6565
}
6666

67+
\assert($messageinstanceof SmsMessage);// to keep psalm happy
68+
6769
$email = (newEmail())
68-
->from($message->getFrom() ?:$this->from)
70+
->from($this->from)
6971
->to($this->to)
70-
->subject(sprintf('New SMSon phone number: %s',$message->getPhone()))
72+
->subject('New SMSto phone number' .$message->getPhone() . ($message->getFrom() ?' from' .$message->getFrom() :''))
7173
->html($message->getSubject())
7274
->text($message->getSubject());
7375

‎src/Symfony/Component/Notifier/Bridge/FakeSms/FakeSmsLoggerTransport.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ protected function doSend(MessageInterface $message): SentMessage
5555
thrownewUnsupportedMessageTypeException(__CLASS__, SmsMessage::class,$message);
5656
}
5757

58-
$this->logger->info(sprintf('New SMSon phone number: %s',$message->getPhone()));
58+
$this->logger->info('New SMSto phone number' .$message->getPhone() . ($message->getFrom() ?' from' .$message->getFrom() :''));
5959

6060
returnnewSentMessage($message, (string)$this);
6161
}

‎src/Symfony/Component/Notifier/Bridge/FakeSms/Tests/FakeSmsEmailTransportTest.php

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,30 @@ public function testSendWithDefaultTransport()
7070
$this->assertInstanceOf(Email::class,$sentEmail);
7171
$this->assertSame($to,$sentEmail->getTo()[0]->getEncodedAddress());
7272
$this->assertSame($from,$sentEmail->getFrom()[0]->getEncodedAddress());
73-
$this->assertSame(sprintf('New SMS on phone number: %s',$phone),$sentEmail->getSubject());
73+
$this->assertSame(\sprintf('New SMS to phone number %s',$phone),$sentEmail->getSubject());
74+
$this->assertSame($subject,$sentEmail->getTextBody());
75+
$this->assertFalse($sentEmail->getHeaders()->has('X-Transport'));
76+
}
77+
78+
publicfunctiontestSendWithFrom()
79+
{
80+
$transportName =null;
81+
82+
$message =newSmsMessage($phone ='0611223344',$subject ='Hello!',$fromPhone ='0655667788');
83+
84+
$mailer =newDummyMailer();
85+
86+
$transport = (newFakeSmsEmailTransport($mailer,$to ='recipient@email.net',$from ='sender@email.net'));
87+
$transport->setHost($transportName);
88+
89+
$transport->send($message);
90+
91+
/** @var Email $sentEmail */
92+
$sentEmail =$mailer->getSentEmail();
93+
$this->assertInstanceOf(Email::class,$sentEmail);
94+
$this->assertSame($to,$sentEmail->getTo()[0]->getEncodedAddress());
95+
$this->assertSame($from,$sentEmail->getFrom()[0]->getEncodedAddress());
96+
$this->assertSame(\sprintf('New SMS to phone number %s from %s',$phone,$fromPhone),$sentEmail->getSubject());
7497
$this->assertSame($subject,$sentEmail->getTextBody());
7598
$this->assertFalse($sentEmail->getHeaders()->has('X-Transport'));
7699
}
@@ -93,7 +116,7 @@ public function testSendWithCustomTransport()
93116
$this->assertInstanceOf(Email::class,$sentEmail);
94117
$this->assertSame($to,$sentEmail->getTo()[0]->getEncodedAddress());
95118
$this->assertSame($from,$sentEmail->getFrom()[0]->getEncodedAddress());
96-
$this->assertSame(sprintf('New SMSon phone number: %s',$phone),$sentEmail->getSubject());
119+
$this->assertSame(\sprintf('New SMSto phone number %s',$phone),$sentEmail->getSubject());
97120
$this->assertSame($subject,$sentEmail->getTextBody());
98121
$this->assertTrue($sentEmail->getHeaders()->has('X-Transport'));
99122
$this->assertSame($transportName,$sentEmail->getHeaders()->get('X-Transport')->getBody());

‎src/Symfony/Component/Notifier/Bridge/FakeSms/Tests/FakeSmsLoggerTransportTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ public function testSendWithDefaultTransport()
6161
$this->assertNotEmpty($logs);
6262

6363
$log =$logs[0];
64-
$this->assertSame(sprintf('New SMSon phone number: %s',$phone),$log['message']);
64+
$this->assertSame(\sprintf('New SMSto phone number %s',$phone),$log['message']);
6565
$this->assertSame('info',$log['level']);
6666
}
6767
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp