[英]Processing incoming e-mail with PHP Script
所以我想弄清楚如何发送电子邮件到一个地址,例如,something @ whatever.com而不是发往那里的电子邮件,而是发送或转发到我创建的脚本,以阅读电子邮件的内容并将内容存储到数据库中。 有关如何在PHP中执行此操作的任何建议?
谢谢!
这里有一些代码可以用来帮助你:
// set user to check
$strUser = "username";
$strPassword = "password";
// open
$hMail = imap_open ("{mail.yourdomain.com:143/notls}INBOX", "$strUser", "$strPassword");
// get headers
$aHeaders = imap_headers( $hMail );
// get message count
$objMail = imap_mailboxmsginfo( $hMail );
// process messages
for( $idxMsg = 1; $idxMsg <= $objMail->Nmsgs; $idxMsg++ )
{
// get header info
$objHeader = imap_headerinfo( $hMail, $idxMsg );
// get from object array
$aFrom = $objHeader->from;
// process headers
for( $idx = 0; $idx < count($aFrom); $idx++ )
{
// get object
$objData = $aFrom[ $idx ];
// get email from
$strEmailFrom = $objData->mailbox . "@" . $objData->host;
// do some stuff here
}
// delete message
imap_delete( $hMail, $idxMsg );
}
// expunge deleted messages
imap_expunge( $hMail );
// close
imap_close( $hMail );
两种选择:
1)如果您可以访问收件人电子邮件服务器上的shell,则可以设置规则以在收到新邮件时触发脚本(例如通过procmail等)。
2)您可以允许电子邮件正常放入邮箱,然后编写PHP脚本以通过IMAP访问邮箱,提取新邮件,处理它们,然后删除它们。 然后每隔几分钟由cron运行一次。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.