文件分享技能
功能说明
一键发送文件到指定邮箱,支持附件发送。使用Python标准库,无需额外依赖,安全可靠。
适用场景
当你需要:
- 将电脑文件发送到手机查看
- 快速分享大文件给他人
- 在不同设备间传输文件
- 备份重要文件到邮箱
使用方法
方式1:简单命令(推荐)
直接告诉Claude:
把 [文件] 发送到 [邮箱地址]
把 "长江之谜.md" 发送到 manke_zhy@qq.com
发送桌面的 "报告.pdf" 到我的邮箱
示例:
把 "/path/to/file.docx" 发送到 example@qq.com
分享 "故事.mp3" 到 friend@163.com
方式2:交互式使用
帮我发个邮件
启动文件发送工具
然后按提示操作即可。
方式3:命令行使用
# 发送文件
python send_email.py 文件路径 收件人邮箱
# 指定发件邮箱
python send_email.py 文件路径 收件人邮箱 --sender your@qq.com
# 指定邮件主题
python send_email.py 文件路径 收件人邮箱 --subject "文件分享"
支持的邮箱类型
| 邮箱类型 | SMTP服务器 | 端口 | 说明 |
|---|---|---|---|
| QQ邮箱 | smtp.qq.com | 587 | 需要授权码 |
| 163邮箱 | smtp.163.com | 465 | 需要授权码 |
| Gmail | smtp.gmail.com | 587 | 需要应用专用密码 |
| 其他 | 自定义 | 自定义 | 需手动输入SMTP配置 |
邮箱配置说明
QQ邮箱获取授权码
- 登录QQ邮箱网页版:https://mail.qq.com
- 点击"设置" → "账户"
- 找到"POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务"
- 开启"IMAP/SMTP服务"
- 点击"生成授权码"
- 按提示发送短信验证
- 复制生成的授权码(不是QQ密码)
163邮箱获取授权码
- 登录163邮箱网页版:https://mail.163.com
- 点击"设置" → "POP3/SMTP/IMAP"
- 开启"IMAP/SMTP服务"
- 设置客户端授权密码
- 保存授权码
Gmail获取应用专用密码
- 登录Google账号:https://myaccount.google.com
- 进入"安全性"设置
- 启用两步验证(如果没有)
- 生成"应用专用密码"
- 选择"邮件"和"Windows计算机"
- 复制生成的16位密码
技术实现
使用工具:
- Python 3 标准库
smtplib- SMTP邮件发送email.mime- 邮件构造email.header- 邮件头编码
核心优势:
- ✅ 使用Python标准库,无需pip安装
- ✅ 支持TLS加密传输,安全可靠
- ✅ 自动检测文件大小,避免超限
- ✅ 友好的交互式配置
- ✅ 完善的错误处理
依赖项
无需额外安装依赖,使用Python标准库即可。
Python版本要求:Python 3.6+
文件大小限制
不同邮箱的附件大小限制:
- QQ邮箱:50MB
- 163邮箱:50MB
- Gmail:25MB
- 企业邮箱:根据具体配置
脚本会自动检测文件大小并提示。
安全注意事项
⚠️ 重要提示:
使用授权码,不是邮箱密码
- SMTP授权码是专门用于客户端的密码
- 与邮箱登录密码不同
- 可以随时撤销和重新生成
不要在脚本中硬编码密码
- 脚本不会保存您的授权码
- 每次运行都需要重新输入
- 确保使用环境安全
使用TLS加密
- 所有传输都经过加密
- 不会被中间人窃取
定期更换授权码
- 建议每3-6个月更换一次
- 如果怀疑泄露,立即更换
示例
示例1:发送小说到邮箱
输入:
把 "长江之谜.md" 发送到 manke_zhy@qq.com
执行过程:
欢迎使用文件邮件发送工具
=====================================
[✓] 找到文件:长江之谜.md (4.2KB)
[?] 发件邮箱类型:
1. QQ邮箱
2. 163邮箱
3. Gmail
请选择 [1-3]: 1
[?] 请输入发件邮箱:your@qq.com
[?] 请输入SMTP授权码:********
[*] 正在连接SMTP服务器...
[*] 正在发送邮件...
[✓] 发送成功!请检查收件箱
输出:
- 邮件已发送到指定邮箱
- 附件完整无损
- 手机和电脑都可以接收
示例2:发送多个文件
输入:
把桌面的所有 .md 文件发给我
处理:
- 自动打包多个文件
- 发送到您的邮箱
故障排除
问题1:认证失败,提示"535 Error"
原因:
- 授权码错误
- SMTP服务未开启
解决方法:
- 重新生成邮箱授权码
- 确认IMAP/SMTP服务已开启
- 检查发件邮箱地址是否正确
- 复制授权码时不要包含空格
问题2:连接超时
原因:
- 网络连接问题
- 防火墙阻止
- SMTP服务器地址错误
解决方法:
- 检查网络连接
- 尝试切换网络(如使用手机热点)
- 检查防火墙设置
- 确认SMTP服务器地址和端口正确
问题3:附件太大
原因:
- 文件超过邮箱附件大小限制
解决方法:
- 压缩文件后再发送
- 使用云盘分享(百度网盘、OneDrive等)
- 分割成多个小文件
问题4:收不到邮件
原因:
- 邮件被放入垃圾箱
- 收件地址错误
- 邮箱服务延迟
解决方法:
- 检查垃圾邮件文件夹
- 等待3-5分钟(网络延迟)
- 确认收件地址拼写正确
- 查看发件箱是否显示发送成功
问题5:中文附件名乱码
原因:
- 邮件客户端编码问题
解决方法:
- 脚本已使用UTF-8编码
- 使用主流邮箱客户端(QQ邮箱、Foxmail等)
- 如果还是乱码,尝试重命名附件为英文
最佳实践
- 小文件(<10MB):直接使用邮件发送
- 大文件(>10MB):先压缩,再发送
- 超大文件(>50MB):使用云盘分享
- 频繁分享:建议配置专用发件邮箱
- 安全考虑:定期更换授权码
高级功能
批量发送
# 发送整个文件夹
python send_email.py folder/ receiver@qq.com --batch
# 发送多个文件
python send_email.py file1.doc file2.pdf receiver@qq.com
定时发送
# 延迟发送(需要系统支持)
echo "python send_email.py file.txt receiver@qq.com" | at 10:00
邮件模板
# 使用预设模板
python send_email.py file.txt receiver@qq.com --template formal
技术支持
如遇到问题,可以:
- 查看"故障排除"部分
- 检查脚本输出的错误信息
- 确认邮箱配置正确
- 尝试重新生成授权码
更新日期:2026-01-27 版本:v1.0