Intereting Posts
API Instagram извлекает код с помощью PHP Может ли PHP исключать символ новой строки при чтении строки за строкой? Отображение значения из базы данных в динамически созданное текстовое поле в таблице с помощью jQuery Генерация массива данных из данных POST с помощью param-map Как конвертировать видео в фоновом режиме с помощью PHP и ffmpeg yii2 получить имя вместо id Функция PHP – игнорировать некоторые параметры по умолчанию Как я могу сделать веб-страницу на сервере (без GUI) для печати? Загрузка файлов с помощью Ajax и JQuery Недостатки PHP продолжают добавлять php для сопоставления внешних переменных в один объект независимо от GET или POST Может ли PHP асинхронно использовать сокеты? Регулярное выражение между тегами, если не сбежать Есть ли способ заставить пользователя загружать файл из ссылки href, а не открывать его в окне браузера? PHP: сеанс не работает

Как вставить входящее сообщение электронной почты в базу данных mySQL?

Просто сказать … Я понятия не имею, как мне это сделать :).

Другими словами, дело в следующем: вы получаете сообщение от какого-то парня pinky@pinky.com, вы отвечаете своим собственным контентом, а pinky@pinky.com хранит ваш ответ в своей базе данных.

Дополнительно: я использую общий хостинг, код на PHP, я понимаю ASP. Если у вас есть идея написать этот скрипт на другом языке, не беспокойтесь, объясняя мне, потому что я ничего не пойму.

Также приветствуется ссылка на решение.

Заранее спасибо.

Так
– у вас есть сервер
– вы получаете электронные письма
– вы хотите сохранить их в базе данных mysql

Конфигурация Cpanel
– перейдите в cpnal email forwarder
– добавить новый
– перенаправить на PATH -> /home/your_user/whatever/php.script.php

Php (вам может потребоваться изменить путь «/ usr / bin / php -q» в зависимости от конфигурации вашего сервера)

#!/usr/bin/php -q <?php chdir(dirname(__FILE__)); $fd = fopen("php://stdin", "r"); $email = ""; while (!feof($fd)) { $email .= fread($fd, 1024); } fclose($fd); if(strlen($email)<1) { die(); } // handle email $lines = explode("\n", $email); // empty vars $from = ""; $to=""; $subject = ""; $headers = ""; $message = ""; $splittingheaders = true; for ($i=0; $i < count($lines); $i++) { if ($splittingheaders) { // this is a header $headers .= $lines[$i]."\n"; // look out for special headers if (preg_match("/^Subject: (.*)/", $lines[$i], $matches)) { $subject = $matches[1]; } if (preg_match("/^From: (.*)/", $lines[$i], $matches)) { $from = $matches[1]; } if (preg_match("/^To: (.*)/", $lines[$i], $matches)) { $to = $matches[1]; } } else { // not a header, but message $message .= $lines[$i]."\n"; } if (trim($lines[$i])=="") { // empty line, header section has ended $splittingheaders = false; } } 

Работает и на общем хостинге! 🙂

Все, что вам нужно добавить, это вставка mysql и использование вышеперечисленных переменных. Вы знаете, как использовать базу данных mysql из php? Или вам тоже нужна помощь?

У меня была такая же проблема, и я искал что-то в PHP, поэтому сначала я искал синтаксический анализатор, а затем – импортер.

Поэтому я собрал их и получил следующее: https://github.com/escobar022/php-imap-ToDB

Я обнаружил, что самая важная часть – знать, как разрывается электронная почта (заголовок, тело и т. Д.). Поэтому я нашел класс парсера ( https://github.com/barbushin/php-imap ), который разбирает электронные письма и получает электронное письмо в его основных частях и имеет возможность загружать элементы. Я бы рекомендовал попробовать разделить сложную электронную почту на части и посмотреть, что именно происходит.

Как только я понял это, я попытался отправить его с помощью PHPmailer и выяснил, как каждая часть нужна для репликации электронной почты. Как только я понял это, я сохранил эти части, разбив заголовки / тело / вложения (относительные пути) в базу данных.

Надеюсь это поможет!

Если вы можете настроить свой почтовый сервер для пересылки электронной почты, полученной по определенному адресу, сценарию, находящемуся на вашем сервере, это отличный вариант:

http://stuporglue.org/mailreader-php-parse-e-mail-and-save-attachments-php-version-3/

Greg