alexpcooper / newsletters-to-kindle
使用IMAP检查邮箱,将HTML新闻邮件转换为PDF并发送到亚马逊Kindle邮箱地址
1.4.2
2022-08-16 20:46 UTC
Requires
- php: >=7.4
- mpdf/mpdf: ^8.0
- phpmailer/phpmailer: ^6.6
- zbateson/mail-mime-parser: ^2.2
This package is auto-updated.
Last update: 2024-09-17 00:59:51 UTC
README
使用IMAP检查邮箱,将HTML新闻邮件转换为PDF并发送到亚马逊Kindle邮箱地址
流程
- 通过IMAP检查邮箱中的文件夹
- 收集邮件并将其转换为PDF
- 将PDF发送到亚马逊,将其转换为ePub格式并放入您的亚马逊Kindle图书馆
- 删除邮件
安装
官方安装方法是使用composer及其Packagist软件包alexpcooper/newsletters-to-kindle。
$ composer require alexpcooper/newsletters-to-kindle
使用方法
<?php require_once __DIR__ . '/vendor/autoload.php'; $newsletter2kindle = new newsletters2kindle(); $newsletter2kindle->kindle_email = 'your-kindle-email@kindle.com'; $newsletter2kindle->imap_email = 'your-email@address.com'; $newsletter2kindle->imap_user = 'your-email@address.com'; $newsletter2kindle->imap_pass = 'emailpassword'; $newsletter2kindle->imap_host = 'imap.host.com'; $newsletter2kindle->imap_port = 993; $newsletter2kindle->imap_dir = 'Inbox'; $newsletter2kindle->checkMail();
调试
由于发送电子邮件到第三方(亚马逊)的过程是“发射并忘记”,没有任何确认或失败,因此有两个可选参数,在需要故障排除时使用。
在调用checkMail()
之前添加一个或两个这些参数。
$newsletter2kindle->debug = true; // false by default or when not specified $newsletter2kindle->delete_mail_after = false; // true by default or when not specified
参数
包含的软件包
感谢以下人员的依赖项;
- https://github.com/mpdf/mpdf
- https://github.com/zbateson/mail-mime-parser
- https://github.com/swiftmailer/swiftmailer
要求
- php的IMAP库(例如,extension=imap.so)需要在php.ini文件中启用
故障排除
- 请确保您的"kindle_email"地址正确无误,正如它在您的亚马逊账户中显示的那样,用于接收文档(请参阅编辑您的“发送到Kindle”电子邮件地址)
- 请确保您的发送电子邮件地址允许发送文档到您的亚马逊Kindle(请参阅将电子邮件地址添加到您的Kindle图书馆接收文档)
已知问题
- 由于电子邮件的组成,偶尔会在最终文档的末尾打印出一段样式标签。这是由外部来源(例如,包含/图像)在解析电子邮件之后被拉入造成的。
- 目前,Kindle文档在没有作者信息的情况下出现在亚马逊,尽管它在PDF中。这似乎是在亚马逊转换文档时由亚马逊方面造成的。