添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

不使用第三方软件,通过Windows自带的函数,可以实现右键将电子书通过电子邮件发送到kindle邮箱,从而实现kindle电子书传送功能。实现过程如下:

1. 使用bat添加右键功能

打开资源管理器,在地址中输入 %APPDATA%\Microsoft\Windows\SendTo ,按回车。然后在该目录,新键文件,命名为 SendToKindle.bat 。内容如下:

@echo off
set "PowerShellScriptPath=C:\path\to\SendToEmail.ps1"
set "EmailAccount=your_email@example.com"
set "EmailPassword=your_email_password"
set "DestinationEmail=destination_email@example.com"
powershell.exe -ExecutionPolicy Bypass -File "%PowerShellScriptPath%" "%EmailAccount%" "%EmailPassword%" "%DestinationEmail%" %*
pause

注意:最后加pause是为了能在出错失败时可以看到错误信息。
上述批处理文件中使用了一些占位符,需要根据实际情况替换它们:

  • C:\path\to\SendToEmail.ps1: 替换为您的 PowerShell 脚本文件的路径。
  • your_email@example.com: 替换为发送邮件的邮箱账号。
  • your_email_password: 替换为发送邮件的邮箱密码。
  • destination_email@example.com: 替换为目标邮箱地址。
    批处理文件将通过 PowerShell 脚本来发送邮件,并将选中的文件作为附件发送。在调用 PowerShell 脚本时,使用 %* 表示将右键菜单中选中的文件作为参数传递给 PowerShell 脚本。

使用powershell实现邮件发送功能

新建文件SendToEmail.ps1,代码如下:

param (
    [string]$EmailAccount,
    [string]$EmailPassword,
    [string]$DestinationEmail,
    [string]$AttachmentFilePath
# 导入命名空间
Add-Type -AssemblyName System.Net
# 生成全局唯一的 Message-ID
function Generate-MessageID {
    return [System.Guid]::NewGuid().ToString() + "@aliyun.com"
# 配置发送邮件的参数
$SenderEmail = $EmailAccount
$RecipientEmail = $DestinationEmail
$Subject = (Get-Item $AttachmentFilePath).Name  # 获取文件名作为邮件主题
$Attachment = $AttachmentFilePath
# 创建邮件对象
$mailMessage = New-Object System.Net.Mail.MailMessage
$mailMessage.From = $SenderEmail
$mailMessage.To.Add($RecipientEmail)
$mailMessage.Subject = $Subject
# 添加 X-Mailer 字段
$mailMessage.Headers.Add("X-Mailer", "PowerShell Mailer")
# 手动添加 Message-ID 字段
$mailMessage.Headers.Add("Message-ID", (Generate-MessageID))
# 添加附件
if (Test-Path $Attachment) {
    $attachmentData = New-Object System.Net.Mail.Attachment($Attachment)
    $mailMessage.Attachments.Add($attachmentData)
    # 设置附件的 Content-Disposition 头信息,指定附件的显示名称
    $attachmentData.ContentDisposition.FileName = $Subject  # 替换为附件的显示名称
# 配置 SMTP 服务器
$smtpClient = New-Object System.Net.Mail.SmtpClient
$smtpClient.Host = "smtp.aliyun.com"  # 替换为您的 SMTP 服务器地址
$smtpClient.Port = 25  # 替换为您的 SMTP 服务器端口
$smtpClient.EnableSsl = $false
$smtpClient.Credentials = New-Object System.Net.NetworkCredential($EmailAccount, $EmailPassword)
# 发送邮件
$smtpClient.Send($mailMessage)

上面smtpClient.Host的值替换为你实际邮箱的SMTP地址,smtpClient.Port替换为对应的端口。
我在实际使用过程中,用的是阿里云的邮箱,开启Ssl的情况下,邮件一直发送失败,所以没有启用SSL。
另外,在一开始的时候,发现邮件能发送成功,但是Kindle上不显示,对比了我通过powershell发送的邮件和通过网页或客户端发送的邮件的头部信息之后,我添加了X-MailerMessage-ID,最后总算能把书籍推送到Kindle上了。我猜应该是Message-ID不可缺少的原因,但目前没有再进一步实践。

参考资料:

  • https://chat.openai.com/
新入手Kindle Paperwhite,推送扩展什么的都搞定了,但"Send to Kindle for PC”只能推送到@kindle.com,无法推送@kindle.cn。每次都要接上数据线拷到KPW去又很不爽,干脆把网上自动发送邮件的vbs脚本改了改,加到右键发送到”菜单里,顺手一点就推送了。 1. 新建一文本文档,粘贴如下代码(xxxxxx、********及smtp服务器等
安装了Python 创建点燃邮件发送给点燃需要点燃邮件,因为有必要在amazon.com注册点燃并创建电子邮件。 目前,该应用被Google分类为不安全。 万一您从Google电子邮件发送文件。 需要通过此链接信任此应用程序 将send_to_kindle.py和文件放在一个文件夹,该文件夹内的文件将被发送。 该文件夹有多少个文件都没有关系,因为该工具可以将文件拆分为多个邮件。 python send_to_kindle
在移动互联网蓬勃发展的同时,有很多人还是喜欢通过电脑浏览网页。当发些一些很有价值或篇幅很长的网页文章,怎么推送到Kindle阅读器进行阅读呢?今天小编就给大家介绍一款Kindle工具:send to Kindle 。send to Kindle 怎么用呢?能做什么呢?send to Kindle能一键将PC端网页发送到Kindle阅读器。 接下来,小编就以chrome浏览器为例,教会大家如何在Ch...
参考了github上的这个项目 https://github.com/dylanbai8/books_push_to_kindle 在这位的基础上修改,改成了一次可以选择多个文件 bat文件代码: @echo off cd /d "%~dp0" ::命令行标题栏和文字颜色 title -- 安装右键发送到 Kindle 设备) -- MODE con: COLS=46 lines=12 color 0a goto menu :menu MODE con: COLS=4
在ubuntu下连接android设备,虽然不用像windows那样安装驱动,然而却会遇见一个错误:输入adb shell,会提示insufficient permissions for device,输入adb devices,设备名称会显示 ????????等一大堆问号。 这是因为ubuntu默认是以非root用户运行的。如果要使用adb 进行usb调试,使用root账号去执行相关命令固然可
买了一个无线网卡插在ubuntu系统的电脑上,却不能识别出来。lsusb,可以看到下面的结果: Bus 002 Device 002: ID 0bda:8179 Realtek Semiconductor Corp. 是我之前待的公司的网卡。可惜离职后也退了群,不然倒可找一下以前的同事要一下驱动。 于是百度,找到8179的这一款,用的是8188eu的驱动。但官网上没有找到8188eu的
对git不熟悉的我,经常把git提交搞得很乱,导致在master上有许多无用的commit,最终决定好好地看一下git的使用教程,却不小心发现了还有一个git-flow的工具可以帮助我管理好git项目的代码。 git-flow在ubuntu上使用比较简单。首先安装,可以通过apt-get来获取。命令如下: sudo apt-get install git-flow 如果是在windo
ProGuard是一个压缩、优化和混淆Java字节码的工具,非常好用。本篇文章总结一下许多人在使用ProGuard时经常遇到的问题。 我把在使用ProGuard时经常遇到的问题分为两类,分别是导致构建失败的编译时问题,以及构建通过但运行时崩溃或结果不正确的运行时问题。大多数人所遇到的大多数问题,都可以在下面的内容找到对应的解决套路。 在开始讲这两类问题前,先明确一点:我们所说的添加混淆规则,不是...
### 回答1: 《Effective STL》是由Scott Meyers所撰写的一本介绍STL(标准模板库)的经典电子书。STL是C++程序员广泛使用的一组通用模板类和函数,用于实现许多常见的数据结构和算法。 这本电子书以一种深入、系统的方式介绍了STL,旨在帮助读者在使用STL时编写更高效、更健壮的代码。书涵盖了STL的各个方面,包括容器(如vector、list、map等)、迭代器、算法、函数对象等。作者通过丰富的代码示例和详细的解释,展示了如何正确地使用STL,并避免常见的陷阱和错误。 Kindle是Amazon推出的一款电子书阅读器,可以通过Kindle设备或Kindle应用程序在各种设备上阅读电子书。对于《Effective STL》这样的电子书,使用Kindle进行阅读有以下几个优点。 首先,Kindle具有便携性。使用Kindle设备或Kindle应用程序,读者可以随时随地阅读电子书,在通勤、旅行或休闲时都非常方便。 其次,Kindle提供了优秀的阅读体验。Kindle的高分辨率屏幕和特殊的电子墨水技术使得文字清晰可读,并且无论在明亮的阳光下还是昏暗的环境都能保持舒适的阅读体验。 另外,Kindle还提供了一些额外的功能,如高亮标记、书签、字典和搜索等,方便读者更好地理解和管理阅读内容。 总之,《Effective STL》是一本非常有价值的电子书,而Kindle则提供了便捷的阅读方式,使读者能够更好地利用这本书学习和应用STL技术。无论是专业的C++程序员还是对STL有兴趣的学习者,都可以通过Kindle阅读《Effective STL》,提高自己的编程技能。 ### 回答2: 《Effective STL》是一本非常受欢迎的关于C++ Standard Library(C++标准库)的书籍,由Scott Meyers所著。对于那些对于容器、迭代器和通用算法的使用有兴趣的读者来说,这本书是一本非常有价值的资源。 在Kindle上阅读这本电子书有许多好处。首先,Kindle是一款便携式设备,用户可以随时随地阅读。这意味着读者可以在旅途、等待或者在床上舒适地阅读《Effective STL》,无需担心携带笨重的纸质书籍。 其次,Kindle还提供了一些功能,如亮度调节和字体大小调节,使读者能够根据自己的偏好进行个性化设置。这样,用户可以根据环境光线和自己的视力来调整亮度和字体大小,保证舒适的阅读体验。 另外,Kindle还支持云同步功能,这意味着当用户在一台设备上阅读完一段时间后,可以在另一台设备上继续阅读,而不会丢失进度或书签。这对于经常使用多个设备或者想在电脑和平板上进行阅读的人来说非常方便。 此外,Kindle还提供了强大的搜索功能,让读者可以快速找到需要的内容。这本电子书概括了大量的STL用法和最佳实践,使用搜索功能可以方便地查找和回顾这些内容。 总之,使用Kindle阅读《Effective STL》电子书是一种便捷和舒适的方式。它提供了灵活的阅读体验,使读者能够根据自己的喜好和需要进行个性化设置,并且具有云同步和搜索功能,方便读者在不同设备之间切换和查找内容。