这篇博客我去年在 CSDN 博客上发表过,但当时 MBP 没带在身边,就没有在这个博客上更新。眼看再过两个多月,Kindle 就要停止邮箱推送服务上,赶紧趁着文章内容未过期在这里再发一次。
不使用第三方软件,通过Windows自带的函数,可以实现右键将电子书通过电子邮件发送到kindle邮箱,从而实现kindle电子书传送功能。实现过程如下:
1. 使用bat添加右键功能
打开资源管理器,在地址中输入%APPDATA%\Microsoft\Windows\SendTo
,按回车。然后在该目录,新键文件,命名为SendToKindle.bat
。内容如下:
1 | @echo off |
注意:最后加pause
是为了能在出错失败时可以看到错误信息。
上述批处理文件中使用了一些占位符,需要根据实际情况替换它们:
C:\path\to\SendToEmail.ps1
: 替换为您的 PowerShell 脚本文件的路径。your_email@example.com
: 替换为发送邮件的邮箱账号。your_email_password
: 替换为发送邮件的邮箱密码。destination_email@example.com
: 替换为目标邮箱地址。
批处理文件将通过 PowerShell 脚本来发送邮件,并将选中的文件作为附件发送。在调用 PowerShell 脚本时,使用 %* 表示将右键菜单中选中的文件作为参数传递给 PowerShell 脚本。
使用powershell实现邮件发送功能
新建文件SendToEmail.ps1
,代码如下:
1 | param ( |
上面smtpClient.Host
的值替换为你实际邮箱的SMTP地址,smtpClient.Port
替换为对应的端口。
我在实际使用过程中,用的是阿里云的邮箱,开启Ssl的情况下,邮件一直发送失败,所以没有启用SSL。
另外,在一开始的时候,发现邮件能发送成功,但是Kindle上不显示,对比了我通过powershell发送的邮件和通过网页或客户端发送的邮件的头部信息之后,我添加了X-Mailer
和Message-ID
,最后总算能把书籍推送到Kindle上了。我猜应该是Message-ID
不可缺少的原因,但目前没有再进一步实践。