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


Php - Message to Email Address, retrieved and stored in MySQL Database

我正在开发一个系统,如果客户提交订单,他们会收到一封确认电子邮件。然而,我想实现以下目标。如果客户点击回复并回复此电子邮件地址,我希望他们的消息不要发送到该电子邮件地址,而是存储在服务器上的MySQL数据库中。

有没有办法用这种方式"拦截"和发送电子邮件?

将回复地址设置为直接进入邮箱,您可以使用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函数的完整列表非常详尽。

如果没有邮箱,这是不可能的直接方式。

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

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

我认为没有一种方法可以轻松做到这一点。你可以做的是在你的电子邮件中有一个回复邮件头,并将其发送到一个受监控的邮箱,守护程序类型的服务会定期检查新的电子邮件并完成它的工作。

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

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

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

或者您可以按照这个SO问题

是的,这是可能的。看看这里:http://www.mddhosting.com/support/knowledgebase/1011/Email-Piping-to-a-PHP-Script-in-cPanel-x3-Theme.html

和另一个:http://harrybailey.com/2009/02/send-or-pipe-an-email-to-a-php-script/