PHP发送邮件网上有很多例子,但是接受邮件的貌似很少,在这里寻求达人的帮助,问题如题PHP如何自动接收邮件,并提取邮件的附件???

解决方案 »

  1.   

    可以用来通过Web发送HTML格式的电子邮件。运行此脚本程序服务器还要开放SMTP服务和支持PHP。此程序不但会通过PHP对发件人和收件人的邮件地址进行格式检查,而且可以转换掉邮件内容里的不良词语。新版本的设置功能更强大,可以设置界面的颜色及文字
    http://down.51vip.net/soft/5/117/2008/2008032220487.asp
      

  2.   

    接受邮件有两种方法,一种是取真实存在的邮件地址,用POP的Client来取或者定义.forward来转向;
    第二种是不存在的邮件,取个别名,转向指向处理的程序。
    因为第二种比较常用,我来说说第二种。(举个postfix的例子)
    1)在/etc/aliases中定义别名
    kong: "| /usr/local/bin/php -q /var/www/kong_mail.php"2) 处理邮件的程序
    <?
    $source = file_get_contents("php://stdin");
    //取邮件标题
    ereg('From: .+@[0-9a-zA-Z_\.\-]+', $source, $fromlist);
    ereg('[0-9a-zA-Z_\.\-]+@[0-9a-zA-Z_\.\-]+',$fromlist[0], $from);
    //取附件
    ?>
    取附件没有做过,不过原理差不多,从$source中把附件截取出来,
    附件的格式一般是:
    \n\n--$boundary\n
    Content-Type:img/jpeg\n
    name="attachment.jpg"\n
    Content-Transfer-Encoding: base64\n
    Content-Disposition: attachment;\n
    filename="attachment.jpg"\n\n
    文件内容(base64)\n
    --$boundary--这里$boundary是分割线,在MIME里应该有定义。建议把$source整个存到文件里看看内容。