Я создаю веб-сайт как проект для колледжа и хочу добавить страницу контактов, конечно. На этой странице контактов я создал форму, в которой пользователь сайта может связаться со мной (администратором сайта) и отправить мне электронное письмо. Я покажу код, который я написал сразу.
Не могли бы вы также сказать мне, где именно я должен написать код? Может быть, это то, что я делаю неправильно. Итак, в первый раз я написал это в функции и вызвал эту функцию в контактной форме. Это не сработало. Затем я написал код для PHPMailer в отдельном файле php с именем send_mail. php и в форме контакта (это другой файл) я записал атрибут action = "send_mail. php" в теге формы. Это правильно? Пожалуйста, скажите мне, если я делаю это неправильно.
Кроме того, я хочу получать эти электронные письма на свой текущий аккаунт Gmail
Я не могу заставить его работать, и у меня возникают следующие ошибки:
Предупреждение: Создание объекта по умолчанию из пустого значения в D: \ Xampp \ htdocs \ licenta_ecomm \ public \ send_mail. php в строке 24
Неустранимая ошибка: необработанная ошибка: вызов неопределенного метода stdClass :: isSMTP () в D : \ Xampp \ htdocs \ licenta_ecomm \ public \ send_mail. php: 25 Трассировка стека: # 0 {main}, брошенный в D: \ Xampp \ htdocs \ licenta_ecomm \ public \ send_mail. php в строке 25
Теперь я новичок в этом, и я раньше не использовал PHPMailer, и я немного запутался. Это контактная форма (после кода phpmailer)
<div class="container">
<div class="row">
<div class="col-lg-12 text-center">
<h2 class="section-heading">Contacteaza-ne!</h2>
<h3 class="section-subheading text-muted"><?php display_message(); ?></h3>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<form name="sentMessage" id="contactForm" action="send_mail.php" method="post" >
<!-- EVENTUAL FUNCTIE??-->
<div class="row">
<div class="col-md-6">
<div class="form-group">
<input type="text" name="nume_contact" class="form-control" placeholder="Numele *" id="name" required data-validation-required-message="Introduceți numele dvs.">
<p class="help-block text-danger"></p>
</div>
<div class="form-group">
<input type="email" name="email_contact" class="form-control" placeholder="Adresă e-mail *" id="email" required data-validation-required-message="Introduceți adresa e-mail">
<p class="help-block text-danger"></p>
</div>
<div class="form-group">
<input type="text" name="subiect" class="form-control" placeholder="Subiect *" id="phone" required data-validation-required-message="Introduceți subiectul">
<p class="help-block text-danger"></p>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<textarea name="mesaj" class="form-control" placeholder="Mesajul dvs. *" id="message" required data-validation-required-message="Introduceți mesajul dorit"></textarea>
<p class="help-block text-danger"></p>
</div>
</div>
<div class="clearfix"></div>
<div class="col-lg-12 text-center">
<div id="success"></div>
<button name="submit" type="submit" class="btn btn-xl">Trimiteți mesaj</button>
</div>
</div>
</form>
</div>
</div>
</div>
И это код, который я написал для отправки писем (send_mail. php)
<!DOCTYPE html>
<html>
<?php
require_once("../resources/config.php");
//clase PHPMailer importante din namespace-ul global
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;
require 'D:\Xampp\composer\vendor\autoload.php';
//variabilele din formularul de contact
$nume_contact = escape_string($_POST['nume_contact']);
$subiect = escape_string($_POST['subiect']);
$email_from = escape_string($_POST['email_contact']);
$mesaj = escape_string($_POST['mesaj']);
try {
//Server settings
$mail->SMTPDebug = 1; // Enable verbose debug output
$mail->isSMTP(); // Send using SMTP
$mail->Host = 'smtp.gmail.com'; // Set the SMTP server to send through
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = 'myemailaddress@gmail.com'; // SMTP username
$mail->Password = 'secret'; // SMTP password
$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS; // Enable TLS encryption; `PHPMailer::ENCRYPTION_SMTPS` encouraged
$mail->Port = 587; // TCP port to connect to, use 465 for `PHPMailer::ENCRYPTION_SMTPS` above
//sender
$mail->setFrom('myemailaddress@gmail.com', 'H.P.');
//recipient
$mail->addAddress($email_from, $nume_contact); // Add a recipient
//body content
$body = "<p>You received a message from: ".$nume_contact.". The message is: ".$mesaj."</p>";
// Content
$mail->isHTML(true); // Set email format to HTML
$mail->Subject = $subiect;
$mail->Body = $body;
$mail->AltBody = strip_tags($body);
$mail->send();
echo 'Message has been sent';
} catch (Exception $e) {
echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}";
}
?>
</html>