[英]Programmatically inserting messages to an email account with CPanel API
我正在寻找一种以编程方式将消息插入特定电子邮件帐户的方法 - 使用CPanel创建和维护。
我有一个网站,为视频游戏的内部消息(使用其API)提供网络邮件界面,我想进一步采取这项服务,并在POP3服务器上提供消息。
到目前为止,我已经找到了多种解决方案:
使用CPanel的API插入邮件:我找不到api调用,仅用于创建新帐户(使用https://documentation.cpanel.net/display/SDK/UAPI+Functions+-+Email%3A%3Aadd_pop )这是我喜欢的首选方法,因为我宁愿独自留下文件系统。
手动将邮件插入文件系统:我发现,Cpanel将电子邮件数据存储在root / mail / domain / user /中,但我不知道确切的文件结构。 我认识maildirsize文件和包含邮件的其他目录,但我不知道maildirsize文件的结构(似乎包含2个整数除以每行的空格),而且邮件文件的文件名也不明显。 这是文件名的示例:
1422094110.H186037P182351.hosting-server-domain.com,S=15645
我宁愿使用这种方法作为备份方法,因为很少(或我没有找到任何有用的)文档可用。
只需使用自定义标题通过电子邮件发送所有邮件:这是最简单的方法,但托管服务提供商的反垃圾邮件策略非常严格,而且外发邮件数量有限。
实现一个自己的POP3服务器:我玩@cleong的PHP实现( https://stackoverflow.com/a/11973533/1030464 ),虽然它在localhost上运行,但我不确定它是否是一个关于实况页面。 我发现了一个Perl实现,这可能值得一试,但我从未使用过Perl,在学习如何实现和集成该模块之前,我宁愿查看另一个解决方案。
感谢您阅读所有这些,
巴林特
听起来好像是使用Maildir格式存储电子邮件。 这使得插入邮件相当简单。 有关详细信息,请参阅Maildir规范 ,但总结如下:
.../Maildir/tmp/
下创建一个名称相同的文件 .../Maildir/new
。 这个重命名步骤确保邮件软件只能看到完整形成的邮件 - 也就是说,当你编写文件的一半时,没有其他进程会尝试查看该文件。 而已!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.