Не работает отправка сообщения по mail()
Всех приветсвую! Хочу отправлять ссылку для входа на сайт, но не отправляется никакая ссылка кроме пустой (a href="#">Ссылка /a> )
Отправляю не с локального сервера, в php.ini все есть, функция mail работает, вроде бы, корректно
$telephone = $_POST['telephone'];
$email = $_POST['email'];
$password = $_POST['password'];
if($telephone){
$login = $telephone;
}else{
$login = $email;
}
$to = $email;
$subject = "Ваша ссылка для входа";
$headers = "From: TvoySklad.ru <[email protected]>\r\nContent-type: text/html; charset=UTF-8 \r\n";
$massage = '<a href="http://qwer.qwer\login\joinsrc.php?login='.$login.'&email='.$email.'&telephone='.$telephone.'&password='.$password.'">'.'Ссылка'.'</a>';
mail ($to, $subject, $massage, $headers);
Ответы (3 шт):
PHP использует стандартную функцию mail она прописана в php.ini в переменной mail=
Вот сторока из моего PHP ini.
sendmail_path = "/usr/bin/msmtp -C /etc/mail.conf --logfile='/var/log/msmtp.log' -a godaddy360 -t"
Так вот в своём конфиге, я использовал гейт msmtp и он полностью поддерживает всё.
Советую, взглянуть в сторону библиотек для отправки почты, ибо вариант который вы используете устаревший, и гарантия доставки низка, используйте либо PHPMailer либо аналоги
link of article - https://snipp.ru/php/smtp-phpmailer
message Отправляемое сообщение.
Каждая строка должна быть отделена символом CRLF (\r\n). Строки не должны быть длиннее 70 символов.
У Вас явно строка будет больше 70 символов. Поэтому пробуйте так:
$massage = '<a href="http://qwer.qwer\login\joinsrc.php
?login='.$login.'
&email='.$email.'
&telephone='.$telephone.'
&password='.$password.'
">'.'Ссылка'.'</a>';
А вообще передача логина и пароля в таком виде - это оочень не хорошо!!!