Php - 消息到电子邮件地址,检索并存储在MySQL数据库中

时间:2012-09-04 12:37:22

标签: php

我正在开发一个系统,如果客户提交订单,他们会收到确认电子邮件。但是,我想让以下事情发生。如果客户随后点击回复,并回复此电子邮件地址,我希望他们的邮件不会转到该电子邮件地址,而是存储在服务器上的MySQL数据库中。

有没有办法以这种方式“拦截”和发送电子邮件?

6 个答案:

答案 0 :(得分:5)

将设置的回复设置为直接进入您可以使用PHP imap_open访问和阅读电子邮件访问的邮箱。有了这个,将数据按需要插入数据库应该是一件简单的事情。

<?php
$mbox = imap_open("{imap.example.org:143}", "username", "password");

echo "<h1>Mailboxes</h1>\n";
$folders = imap_listmailbox($mbox, "{imap.example.org:143}", "*");

if ($folders == false) {
    echo "Call failed<br />\n";
} else {
    foreach ($folders as $val) {
        echo $val . "<br />\n";
    }
}

echo "<h1>Headers in INBOX</h1>\n";
$headers = imap_headers($mbox);

if ($headers == false) {
    echo "Call failed<br />\n";
} else {
    foreach ($headers as $val) {
        echo $val . "<br />\n";
    }
}

imap_close($mbox);
?>

PHP IMAP functions的完整列表非常详尽。

答案 1 :(得分:1)

如果没有邮箱,这是不可能的。

但是您可以为此执行特殊邮箱,并从PHP获取imap_*函数的电子邮件,并基于subjectemail将其保存在数据库中,然后删除该电子邮件。

答案 2 :(得分:1)

使用PHP IMAP函数,您可以读取发送到特定地址的邮件。但是,您不能将其发送到该地址。但您可以使用邮件,将其放入数据库并删除它。

答案 3 :(得分:0)

我认为没有办法轻易做到这一点。您可以做的是在您的电子邮件中有一个回复标题,并将其发送到受监控的邮箱,守护进程类型的服务会定期检查新电子邮件并开展工作。

答案 4 :(得分:0)

您可以查看以下链接和资源:

  1. http://framework.zend.com/manual/en/zend.mail.read.html

  2. http://code.google.com/p/php-imap

  3. 或者您可以按照SO question

    进行操作

答案 5 :(得分:0)