How to Send Email Using mailx/s-nail in Linux Through Internal SMTP

How to Send Email from mailx Command in Linux Using Gmail’s SMTP introduces how to send email using heirloom mailx (or s-nail if you are using Ubuntu 18 or later or similar releases) command in Linux through Gmail’s SMTP which requires some configuration. On the other hand, there are many environments that do not require SSL/TLS/etc. One example is the SMTP server (smtp.ust.hk) for HKUST requires no authentication for sending email from IPs inside the campus network. In this tutorial, I will introduce how to send email using mailx through internal SMTP (using HKUST’s smtp server smtp.ust.hk as the example).

There are at least two methods: using all-in-one command or putting configurations into profile. The all-in-one-command way needs no other configurations except the command line itself, while the way using configuration has a clearer command.

All-in-one command

This is an all-in-one command that sends email to $TO_EMAIL_ADDRESS . You need to also replace these $FROM_EMAIL_ADDRESS and $FRIENDLY_NAME variables with your email and name.

(use s-nail instead in releases without the heirloom mailx)

$ mailx -v -s "$EMAIL_SUBJECT" \
-S smtp=smtp://smtp.ust.hk \
-S from="$FROM_EMAIL_ADDRESS($FRIENDLY_NAME)" \
$TO_EMAIL_ADDRESS

mailx will read the email content from STDIN. Type in the email main content and input “Ctrl+d” to tell mailx you have finished the content. The mail will be sent out. You can also use pipes like:

$ echo "The mail content" | mailx -v -s ...

Using configuration file

If you use this configuration frequently, you man consider putting the configuration into mailx‘s configuration file ~/.mailrc.

set smtp=smtp://smtp.ust.hk
set from="$FROM_EMAIL_ADDRESS($FRIENDLY_NAME)"

Then you can send email directly by:

$ mailx -v -s "$EMAIL_SUBJECT" $TO_EMAIL_ADDRESS

Similar Posts

  • Chinese Charactor Configuration on Fedora 11

    最新的更新版本请看: Fedora 中文字体设置. 使用Linux时我个人倾向使用英文环境系统,而Fedora11在英文环境下中文字体有时会不太好看,经常遇到需要字体优化美化的问题。 以下是我的配置方案,经测试效果还算不错,解决了Fedora 11 中文字体难看的问题: 方案1:使用uming和ukai字体,即AR PL UMing CN等。 关键是使用的字体包如下: 首先要安装这两个字体: cjkuni-ukai-fonts cjkuni-uming-fonts 然后配置一下~/.fonts.conf文件. 使sans-serif serif monospace字体中文使用uming/ukai即可. 我的.fonts.conf文件可以从这里下载(两种选择, 我喜欢前者): https://github.com/zma/config_files 使用Liberation和uming/ukai字体: .fonts.cofn.liberation 使用dejavu和uming/ukai字体: .fonts.conf.dejavu 下载后放到自己的$HOME下改名为.fonts.conf就可以了。 使用uming字体效果如下(请放大后看效果): 方案2:安装文泉驿字体,这个非常简单,安装相应包即可了。 如果喜欢其它的字体选择性的安装上就可以了,只要注意只安装自己需要的就行了。有人使用微软雅黑字体,首先这是侵权的,其次开源的字体做得其实已经很不错了。 最后将字体平滑选项打开, KDE和gnome都有相关设置方法。 以上内容只是针对使用xft字体系统的设置。对于使用核心字体系统的X程序来说字体依然会出现很丑的情况。 下面是针对emacs的设置方法: 首先需要安装这个字体包: xorg-x11-fonts-misc 注意到在中文系统下emacs的中文显示非常好,而在英文环境中去非常差,我们可以利用这一点,在运行emacs前首先将系统环境设为中文即可。 在~/bin/下建立一文件ema 内容如下: #!/bin/bash rm -f ~/.emacs ln -s ~/.emacs.x ~/.emacs LANG=zh_CN.UTF-8 emacs –fullheight -r $* 然后加入执行权限即可: chmod +x…

  • Programming language popularity indices?

    Any good programming language popularity indices? Those are interesting ones: TIOBE Indexhttp://www.tiobe.com/index.php/content/paperinfo/tpci/index.html The RedMonk Programming Language Rankings: January 2014 This ranking is published as blog posts. So no persistent homepage found yet. The January 2014 version is: http://redmonk.com/sogrady/2014/01/22/language-rankings-1-14/ Programming Language Popularityhttp://langpop.com/ Read more: Most important aspects or features of the C++ programming language? Are You…

  • What about the master branch for local git configuration in a git repository to make it track remote master branch?

    What about the master branch for local git configuration in a git repository to make it track remote master branch? You may append these lines to .git/config in your cloned repository directory: [branch “master”] remote = origin merge = refs/heads/master Read more: Git: setting a local branch’s upstream tracking branch How to clone a snapshot…

10 Comments

  1. worked fine …
    with
    mailx -v -s “$EMAIL_SUBJECT” \
    -S smtp=smtp://smtp.ust.hk \
    -S from=”$FROM_EMAIL_ADDRESS($FRIENDLY_NAME)” \
    -a /path/to/attachment/files \
    $TO_EMAIL_ADDRESS

  2. Pingback: Linux Sunucuya SSH Bağlantı Sonrası Uyarı Postası Gönderme | Fatih ASLAN | ITPro Blog
  3. Thank you very much!! Could you please help me with a question:
    “consider putting the configuration into mailx‘s configuration file ~/.mailrc”
    sounds like this file exists already? Is that right? I couldn’t find the file at my Ubuntu.

  4. Hi! Thanks for this information. Do you know if I can send through multiple SMTP servers by simply adding more “-S smtp=” lines? I want to have some failover.

    Thanks!

Leave a Reply

Your email address will not be published. Required fields are marked *