return new EmailMessage($email);
} public function asSmsMessage(SmsRecipientInterface
$recipient, string
$transport = null
): ?SmsMessage
{ return new SmsMessage($recipient->
getPhone(),
$this->
getDefaultContent('link'
).' '.
$this->loginLinkDetails->
getUrl());
} private function getDefaultContent(string
$target): string
{ $duration =
$this->loginLinkDetails->
getExpiresAt()->
getTimestamp() -
time();
$durationString =
floor($duration / 60
).' minute'.
($duration > 60 ? 's' : ''
);
if (($hours =
$duration / 3600
) >= 1
) { $durationString =
floor($hours).' hour'.
($hours >= 2 ? 's' : ''
);
} return sprintf('Click on the %s to confirm you want to sign in. This link will expire in %s.',
$target,
$durationString);
}}