2012-09-04 20 views
1

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

有没有办法以这种方式'拦截'和电子邮件?

+0

取决于你的主机上,我的主机(BlueHost的)让我来设置,当消息都在脚本处理他们的电子邮件地址。查看您的CPanel或联系支持人员,看看他们是否提供类似的东西。 – Jeremy1026

回答

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的完整列表非常详尽。

0

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

1

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

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

1

使用PHP IMAP功能,您可以在发送到特定地址的邮件中阅读这些功能。但是,您无法将其发送到该地址。但是,您可以使用邮件,将其放入数据库并删除它。

相关问题