使用Termux发送本地邮件的相关命令与配置方法

5次阅读
没有评论

问题描述

需要了解如何通过Termux发送本地邮件(不在网络中发出)。虽然可以通过Mutt来实现收发邮件功能,但目前无法直接通过 Termux 发送邮件至外部服务器。因此需要先启动一个SMTP服务器在本地计算机上提供服务。

解决方案

请注意以下操作注意版本差异及修改前做好备份。

方案1

启动本地SMTP服务并配置发送邮件

使用msmtp以及postfix作为SMTP代理来实现从Termux中发送电子邮件,可以参考以下步骤:

  1. 安装依赖包
    启动设备的终端,在Termux中输入以下命令以安装所需软件包:
pkg update && pkg upgrade -y
pkg install gpgutils
pkg install postfix
  1. 配置Postfix

    • 启动Postfix服务:/etc/init.d/postfix start
    • 配置/etc/postfix/main.cf文件以允许多用户使用此SMTP服务器。编辑main.cf文件,添加或修改以下行:
      “`
      myhostname = your.domain
      mydomain = example.com # 根据需要更改
      myorigin = $mydomain

      smtpd_etrn_restrictions = permit_mynetworks,reject

      smtp_sasl_auth_enable = yes
      smtp_sasl_security_options = noanonymous
      smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
      smtp_use_tls = yes
      mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128

      smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination, reject_non_fqdn_sender
      “`

  2. 配置msmtp

    • 安装mutt, msmtp及相应的支持插件:pkg install mutt msmtp msmtp-mta
    • 生成一个用户密码文件,例如~/.msmtprc,内容如下:
      “`
      defaults
      auth on
      ssl on
      tls on

      account default
      host your.domain
      from username@example.com
      port 25
      user yourusername # Your system email address for Postfix, e.g., root@yourdomain.com.
      password yourpassword
      ``
      修改
      ~/.msmtprc`中的相应字段,确保这些信息正确无误。

  3. 重写配置文件并重启Postfix
    编辑 /etc/postfix/sasl_passwd, 添加你的凭证配对,并使用以下命令进行哈希化:

echo "your.domain root@yourdomain.com:yourpassword" > /etc/postfix/sasl_passwd
chmod 600 /etc/postfix/sasl_passwd
postmap /etc/postfix/sasl_passwd

# 重启Postfix服务
/etc/init.d/postfix restart

# 使用mutt或类似方法发送测试邮件,确保配置正确。

方案2:使用Mailinabox简化配置流程

如果觉得手动调整配置较为复杂,可以考虑采用Mail in a Box项目来快速搭建一个邮箱服务。此工具集成了多个相关软件(如Postfix、Dovecot等)并提供简便的图形界面进行配置。

  • 下载Mail in a Box:
    sh
    git clone https://github.com/mail-in-a-box/mailinabox /<some-dir>
    cd <some-dir>
    ./install.sh
  • 按照指示完成安装过程。
  • 完成设置后,通过Web管理界面调整设置,如SMTP服务器等。

综合上述方案,在本地环境中配置和使用SMTP进行邮件发送。注意每个步骤的具体参数以及安全因素(例如用户密码的妥善保存)。希望这些信息对你有所帮助!如果有其他问题或遇到困难请随时提问。

正文完