这是一个去学校的项目,但我不知道它为什么不起作用。我有输入字段,第一个是我的电子邮件,第二个是我的同事电子邮件,然后是主题和正文。但当我填写输入时,它不会发送电子邮件..。
这是我的html。
<html>
<body>
    <h2>Script done by Nuno Fernandes and Rafael</h2>
    <form action="mail.php">
        E-mail do sender:<br>
        <input type="text" name="From"><br>
        E-mail do receiver:<br>
        <input type="text" name="addAddress"><br>
        Assunto:<br>
        <input type="text" name="Subject"><br>
        Corpo do texto:<br>
        <input type="text" name="Body" size="100"><br><br>
        <input type="submit" value="Send">
    </form>
 </body>
 </html>这是我的php (称为mail.php)
 <?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require_once "vendor/autoload.php";
//Cria o objeto
$mail = new PHPMailer(true);
//Dados de quem envia
$mail->From = $_POST['From'];
//Dados de quem vai receber
$mail->addAddress=$_POST['addAddress'];
//Se quiseres que a opção de reply funcione, metes aqui o email de reply
$mail->addReplyTo=$_POST['addReplyTo'];
//CC e BCC
//$mail->addCC("cc@example.com");
//$mail->addBCC("bcc@example.com");
//Isto determina se envias como texto normal ou se tens HTML a formatar o mail
$mail->isHTML(true);
$mail->Subject = $_POST['Subject']; // Assunto
$mail->Body = $_POST['Body']; // Mensagem
//$mail->AltBody = ""; // Isto é no caso de quereres ter html em cima e no fim do email uma versao em texto normal
try {
    $mail->send();
    echo "Message has been sent successfully";
} catch (Exception $e) {
    echo "Mailer Error: " . $mail->ErrorInfo;
}
?>发布于 2022-03-08 17:03:37
从表单发送的值将在$_POST数组中。
因此,要设置消息,应该如下所示:
$mail->Body = $_POST['Body']; // Mensagem它的'Body‘部分将与您的HTML中的name属性匹配。
然而,使用这种形式从您的服务器发送电子邮件是广泛开放的攻击,由垃圾邮件。如果你不增加一些安全,垃圾邮件发送者可以使用这个发送任何类型的电子邮件给任何他们想要的,这很可能会导致你的帐户被禁止从你的主机提供商。请查看保护您的邮件表单,或使用其他人已经制作的表单。可以让你开始的这是一篇文章
https://stackoverflow.com/questions/71398683
复制相似问题