Я пытаюсь отправить пользователю ссылку активации через почту, используя мою учетную запись gmail. как мне настроить его. Как отправить письмо с помощью Gmail? Где я могу ввести пароль ?.
Является ли это древним или я должен идти для объектно-ориентированного метода.
// secure the password $passWord = sha1($passWord); $repeatPass = sha1($repeatPass); // generate random number $random =rand(1200345670,9999999999); //send activation email $to = $email; $subject = "Activate your account"; $headers = "From: ti.asif@gmail.com"; $server = "smtp.gmail.com"; $body = "Hello $username,\n\n You registered and need to activate your account. Click the link below or paste it into the URL bar of your browser\n\nhttp://phpacademy.info/tutorials/emailactivation/activate.php?id=$lastid&code=$code\n\nThanks!"; ini_set("SMTP",$server); if (!mail($to,$subject,$body,$headers)) echo "We couldn't sign you up at this time. Please try again later."; else { // register the user $queryreg = mysql_query(" INSERT INTO users VALUES ('','$userName','$passWord','$fullName','$date','$random','0','$email') "); $lastid = mysql_insert_id(); die ("You have been registered. <a href='login.php'>Click here</a> to return to the login page."); echo "Successfully Registered"; }
Загрузите phpmailer и попробуйте следующий код
<?php $mail = new PHPMailer(); $mail->IsSMTP(); //GMAIL config $mail->SMTPAuth = true; // enable SMTP authentication $mail->SMTPSecure = "ssl"; // sets the prefix to the server $mail->Host = "smtp.gmail.com"; // sets GMAIL as the SMTP server $mail->Port = 465; // set the SMTP port for the GMAIL server $mail->Username = "gmailusername"; // GMAIL username $mail->Password = "gmailpassword"; // GMAIL password //End Gmail $mail->From = "from@email.com"; $mail->FromName = "you name"; $mail->Subject = "some subject"; $mail->MsgHTML("the message"); //$mail->AddReplyTo("reply@email.com","reply name");//they answer here, optional $mail->AddAddress("address@to.com","name to"); $mail->IsHTML(true); // send as HTML if(!$mail->Send()) {//to see if we return a message or a value bolean echo "Mailer Error: " . $mail->ErrorInfo; } else echo "Message sent!";
mail
встроенный не подходит для этого, он поддерживает только простые настройки.
посмотрите на грушевую почту , примеры показывают, как отправить с помощью smtp auth.