sql >> データベース >  >> RDS >> Mysql

着信電子メールメッセージをmySQLデータベースに挿入する方法は?

    つまり、
    -サーバーがあります
    -メールが届きます
    -mysqlデータベースに保存したい

    Cpanelの設定
    -cpnalメールフォワーダーに移動します
    -新しいメールフォワーダーを追加します
    -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を挿入し、上記で定義した変数を使用することだけです。 PHPからmysqlデータベースを使用する方法を知っていますか?それとも、それについてもサポートが必要ですか?




    1. PostgreSQLで重複する行を選択する4つの方法

    2. '(アポストロフィ)や(引用符)などの特殊文字を含むMysql + php

    3. PHPMyAdminは、デフォルトの照合としてut8mb4を使用するように強制します

    4. MongoDBまたは他のドキュメント指向データベースシステムをいつ使用するのですか?