Mailtrap - это поддельный SMTP-сервер. Однако встроенная функция PHP mail()
проста и не имеет поддержки аутентификации SMTP, которая требуется для mailtrap.
Итак, переходите и используйте пакет почтовой программы PHP, такой как PHPMailer, Swift Mailer, PearMail и т. Д. c, как показано здесь https://blog.mailtrap.io/php-email-sending/
Например, с PHPMailer
use PHPMailer\PHPMailer\PHPMailer;
require_once './vendor/autoload.php';
$mail = new PHPMailer();
// configure an SMTP
$mail->isSMTP();
$mail->Host = 'smtp.mailtrap.io';
$mail->SMTPAuth = true;
$mail->Username = '1a2b3c4d5e6f7g';
$mail->Password = '1a2b3c4d5e6f7g’;
$mail->SMTPSecure = 'tls';
$mail->Port = 2525;
$mail->setFrom('confirmation@hotel.com', 'Your Hotel');
$mail->addAddress('me@gmail.com', 'Me');
$mail->Subject = 'Thanks for choosing Our Hotel!';
$mail->isHTML(TRUE);
$mail->Body = '<html>Hi there, we are happy to <br>confirm your booking.</br> Please check the document in the attachment.</html>';
$mail->AltBody = 'Hi there, we are happy to confirm your booking. Please check the document in the attachment.';
if(!$mail->send()){
echo 'Message could not be sent.';
echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
echo 'Message has been sent';
}
Существуют и другие, случайные варианты, но я уверен, что они не работаю в вашем случае. Один из них - изменение почтовых директив в php .ini и sendmail.ini (если у вас есть к нему доступ и вы любите приключения).