Я пытаюсь сделать страницу регистрации пользователя и адрес электронной почты в php. Это код для регистрации пользователя и отправки электронного письма с подтверждением. Все работает нормально, и он регистрирует пользователя в базе данных, но он вообще не отправляет электронное письмо пользователю. Вот код.
<?php include('sqlconfig.php'); $tbl_name=temp_users; /*Email Confirmation Code*/ $confirm_code=md5(uniqid(rand())); $Email=mysql_real_escape_string($_POST['email']); $First_Name=mysql_real_escape_string($_POST['firstname']); $Last_Name=mysql_real_escape_string($_POST['lastname']); $Password=mysql_real_escape_string($_POST['password']); $Confirm_pass=mysql_real_escape_string($_POST['conpassword']); $Phone=mysql_real_escape_string($_POST['phone']); /*Insert the data into the base*/ $sql = 'INSERT INTO temp_users(confirm, FirstN, LastN, password, confirmpassword, phone, email) VALUES("'.$confirm_code.'", "'.$First_Name.'", "'.$Last_Name.'", "'.$Password.'", "'.$Confirm_pass.'", "'.$Phone.'", "'.$Email.'")'; $result=mysql_query($sql); /*If data succesfully inserted proceed with this*/ if($result){ /*Send Email here*/ $to=$Email; $subject="Newgenstudios Account Confirmation"; /*From*/ $header="From:Newgenstudios <noreply@newgenstudios.com>"; /* Your message */ $message="Welcome to Newgenstudios! Thank you for registering. \r\n"; $message="Here is your Comfirmation link \r\n"; $message.="Click on this link to activate your account \r\n"; $message.="http://www.newgensv01.dyndns.org/confirmation.php?passkey=$confirm_code"; $message="Account Details: \r\n"; $message="Name: $First_Name $Last_Name \r\n"; $message="Email: $Email \r\n"; $message="Password: $Password \r\n"; $message="Phone: $Phone \r\n"; $message="\r\n"; $message="Did you not register? Then please disregard this message. \r\n"; /* Send Email */ $sentmail = mail($to,$subject,$message,$header); } /*If not found*/ else { echo "Not found your email in our database"; } /* email succesfully sent */ if($sentmail){ echo "Your Confirmation link Has Been Sent To Your Email Address."; } else { echo "Cannot send Confirmation link to your e-mail address"; } ?>
Использование функции mail (), которая поставляется с PHP, не является хорошим подходом при отправке электронной почты, поскольку она легко помечена как спам, и вам нужно настроить заголовок, чтобы убедиться, что вы правильно отправляете HTML-сообщения.
Поэтому я бы предложил вам взглянуть на PHPMailer или SwiftMailer , который поддерживает HTML, поддерживает разные типы mime и аутентификацию SMTP