Отправить php mail из html-кода

после того как я попытался получить ответ на мой вопрос здесь, я попробую его с новым streamом.

Небольшое объяснение: у меня есть контактная форма с 180 полями ввода + расчет для каждого поля. Я хочу отправить все поля + расчетное значение с помощью электронной почты.

Это просто пример одной из 180 строк, которые мне нужно отправить почтой:

DIV TEXT - ANY ARTICLE
= CALCULATED NUMBER
// 179 more input-fields will follow here!!

Мой расчет работает, поэтому мне просто нужна помощь для отправки всего моего контента по почте.

Мой вопрос: как я могу отправить почту без Outlook или Thunderbird (я думаю, мне нужен php) со следующим содержанием:

Название статьи, номер из поля ввода (w0) + вычисленное число (w0g) ?

Надеюсь, у кого-нибудь есть ответ для меня. Заранее спасибо.

Вам нужно создать файл PHP для обработки этих «серверных» действий для вас. Затем установите атрибут действия вашей HTML-формы на эту страницу PHP. Когда HTML отправлен, 180 полей ввода затем все отправляются на страницу PHP внутри переменной с именем $_POST . Затем вы можете работать над этими данными для создания нужной строки и, наконец, использовать функцию mail() (или, возможно, предварительно построенный почтовый пакет, который дает вам немного больше контроля), чтобы отправить это электронное письмо.

Ваш новый HTML-код

  

Заметка:

Вы говорите, что хотите получить название статьи, w0 и w0g , но вы только положили w0 на вход. Только input s, textarea s и select s будут отправлены на PHP-скрипт. Вам нужно будет изменить свой HTML, чтобы убедиться, что все они собраны. Я бы предложил использовать синтаксис массива для этого:

   =  CALCULATED NUMBER    =  CALCULATED NUMBER  

Я делаю некоторые презумпции здесь о ваших данных, но это должно иметь смысл. Вы можете написать цикл PHP для вывода данных, если сможете. Также это может помочь вам использовать входные массивы HTML, чтобы немного упростить некоторые вещи.

PHP

В итоге вы получите что-то вроде этого очень грубого примера:

 < ?php $myString = ""; for ($x=0;$x<180;$x++) { $tempString = $_POST['article' . $x] . $_POST['w' . $x] . $_POST['w' . $x . 'g']; // don't forget to sanitize this data!! $myString .= sanitize_however_you_want($tempString); } // now email mail('myemail@mymail.com', 'Email Subject', $myString, 'From: you@yoursite.com' '-fyou@yoursite.com'); 
  1. Подробнее о формах публикации здесь: Работа с формами
  2. Подробнее о отправке электронной почты читайте здесь: Функция mail()
  3. Подробнее о массивах входных данных HTML в этом стеке

вы можете использовать mail () ( http://php.net/manual/en/function.mail.php ), но я думаю, что лучше, если вы используете библиотеку PHPMailer ( https://github.com/PHPMailer ) очень просто

  < ?php use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\Exception; //Load composer's autoloader require 'vendor/autoload.php'; $mail = new PHPMailer(true); // Passing `true` enables exceptions try { //Server settings $mail->SMTPDebug = 2; // Enable verbose debug output $mail->isSMTP(); // Set mailer to use SMTP $mail->Host = 'smtp1.example.com;smtp2.example.com'; // Specify main and backup SMTP servers $mail->SMTPAuth = true; // Enable SMTP authentication $mail->Username = 'user@example.com'; // SMTP username $mail->Password = 'secret'; // SMTP password $mail->SMTPSecure = 'tls'; // Enable TLS encryption, `ssl` also accepted $mail->Port = 587; // TCP port to connect to //Recipients $mail->setFrom('from@example.com', 'Mailer'); $mail->addAddress('joe@example.net', 'Joe User'); // Add a recipient $mail->addAddress('ellen@example.com'); // Name is optional $mail->addReplyTo('info@example.com', 'Information'); $mail->addCC('cc@example.com'); $mail->addBCC('bcc@example.com'); //Attachments $mail->addAttachment('/var/tmp/file.tar.gz'); // Add attachments $mail->addAttachment('/tmp/image.jpg', 'new.jpg'); // Optional name //Content $mail->isHTML(true); // Set email format to HTML $mail->Subject = 'Here is the subject'; $mail->Body = 'This is the HTML message body in bold!'; $mail->AltBody = 'This is the body in plain text for non-HTML mail clients'; $mail->send(); echo 'Message has been sent'; } catch (Exception $e) { echo 'Message could not be sent.'; echo 'Mailer Error: ' . $mail->ErrorInfo; }