繁体   English   中英

使用CPanel API以编程方式将消息插入电子邮件帐户

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM