Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak wstawić przychodzącą wiadomość e-mail do bazy danych mySQL?

A więc
- masz serwer
- dostajesz e-maile
- chcesz je zapisać w bazie mysql

Konfiguracja panelu
- przejdź do cpnal email forwarder
- dodaj nowy
- przekieruj do PATH -> /home/your_user/whatever/php.script.php

Skrypt PHP (może być konieczna zmiana ścieżki "/usr/bin/php -q" w zależności od konfiguracji serwera)

#!/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;
    }
}

Działa również na hostingu współdzielonym! :)

Wystarczy dodać wstawkę mysql i skorzystać ze zdefiniowanych powyżej zmiennych. Czy wiesz, jak korzystać z bazy danych mysql z php? Czy też potrzebujesz pomocy?




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jaki jest najlepszy sposób na połączenie się z bazą danych Mysql w Delphi?

  2. mysqli insert - ale tylko jeśli nie jest to duplikat

  3. Jak zmienić katalog danych MySQL?

  4. Usuń klauzulę DEFINER ze zrzutów MySQL

  5. codeigniter mysql lewy dołączyć dołącz wybierz