Как создать форму HTML, в которой после того, как пользователь вводит электронную почту и нажимает "Отправить", им отправляется электронное письмо из моей учетной записи gmail? - PullRequest
0 голосов
/ 05 августа 2020

У меня есть форма HTML, например

<form name="contact-form" method="POST" action="sendemail.php">
        <label>Name</label>
       <input type="text" name="name" required="required">
        <label>Email</label>
        <input type="email" name="email" required="required">
        <button type="submit" name="submit" required="required">Submit</button>
</form>
         

Теперь я хочу, чтобы это было так, чтобы когда пользователь моего веб-сайта вводил свое имя и адрес электронной почты и нажимал кнопку «Отправить», ему отправлялось электронное письмо в формате pdf. этот адрес электронной почты из моего Gmail. Как бы мне go написать для него sendemail. php?

Пробовал ответить макс:

<?

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;


require 'vendor/autoload.php';


$mail = new PHPMailer;

$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   = 'sample1@gmail.com';                     // SMTP username
$mail->Password   = 'mypassword';                               // 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


//From email address and name
$mail->From = "sample1@gmail.com";
$mail->FromName = "Josh Bealer";

//To address
$mail->addAddress("receiveremail@gmail.com");

//CC and BCC
$mail->addCC("cc@example.com");
$mail->addBCC("bcc@example.com");

//Send HTML or Plain Text email
$mail->isHTML(true);

$mail->Subject = "Subject Text";
$mail->Body = "<i>Blah</i>";
$mail->AltBody = "This is the plain text version of the email content";

$mail->send();
?>

1 Ответ

1 голос
/ 05 августа 2020

Вы можете быть крутым и написать метод, используя этот https://www.php.net/manual/en/ref.imap.php

из вас, используя classi c PHPmailer: https://github.com/PHPMailer/PHPMailer

на debianoid вы можете попробовать это:

apt install libphp-phpmailer

он установит вам класс PHPmailer из (https://github.com/PHPMailer/PHPMailer)

, затем вы можете следовать пример из https://github.com/PHPMailer/PHPMailer#a -simple-example

Думаю, нет смысла копировать код оттуда для вас ...

Я сделал супер простой версия

//PHPMailer Object
$mail = new PHPMailer;

$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   = 'josh@gmail.com';               // your SMTP username
$mail->Password   = 'your_gmail_password';          // your 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


//From email address and name
$mail->From = "josh@gmail.com";
$mail->FromName = "Josh Bealer";

//To address
$mail->addAddress("recepient@example.com");

//CC and BCC
$mail->addCC("cc@example.com");
$mail->addBCC("bcc@example.com");

//Send HTML or Plain Text email
$mail->isHTML(true);

$mail->Subject = "Subject Text";
$mail->Body = "<i>Mail body in HTML</i>";
$mail->AltBody = "This is the plain text version of the email content";

try {
    $mail->send();
}
catch (Exception $e) {
    echo $e->getMessage();
}
catch (InvalidArgumentException $e) {
    echo $e->getMessage();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...