Ubuntu配置sendmail client,用sendmail命令来发送邮件

参考文档
https://mailoutgoing.com/support/mailrelay/sendmail.html
https://www.sendmail.org/~ca/email/auth.html
https://docs.oracle.com/en/operating-systems/oracle-linux/6/admin/configure-sendmail.html

总结
1、ubuntu环境下,sendmail服务位于/etc/init.d/sendmail而非/usr/lib/systemd/system/sendmail.service,它被service命令管理,不过类似这种被service命令管理的大部分服务也可以被systemctl管理
2、一般需要安装sendmail和m4 sendmail-cf,因为sendmail发送邮件时不需要邮件账号和密码,但是需要在/etc/mail/sendmail.mc中配置邮件服务器地址,再通过m4 sendmail.mc >sendmail.cf命令把邮件服务器地址编辑到sendmail.cf
3、配置sendmail服务器的这台需要发送邮件的机器,服务器名必须带上.XX.com类似这样的域名后缀,否则无法把邮件发出去并且会报错DSN: Service unavailable
4、sendmail的语法可以是如下两种方式

4.1(echo From: "WON Notification <notification@XXX.com>";echo To: "lukes.liao@XXXchina.com";echo To: "lukes.liao1@XXXchina.com";echo Subject: "This is test1";echo "The Content is just a test email1")| /usr/sbin/sendmail -t
4.2、sendmail -t < /root/emailtest.txt
/root/emailtest.txt内容如下
From: WON Notification <notification@XXX.com>
To: lukes.liao@XXXchina.com
To: lukes.liao1@XXXchina.com
Subject: "This is test1"
The Content is just a test email1

本实验以ubuntu22.04为例,邮件服务器mxout.XXX.com可以匿名访问,所以不需要配置账号名和密码

root@FDB001:~# systemctl status sendmail
Unit sendmail.service could not be found.
root@FDB001:~#
root@FDB001:~# ll /etc/mail
ls: cannot access '/etc/mail': No such file or directory
root@FDB001:~#
root@FDB001:~# ll /usr/lib/systemd/system |grep mail
root@FDB001:~# apt-get install sendmail
root@FDB001:~#
root@FDB001:~# systemctl status sendmail
● sendmail.service - LSB: powerful, efficient, and scalable Mail Transport AgentLoaded: loaded (/etc/init.d/sendmail; generated)Active: active (running) since Tue 2024-07-02 03:22:09 UTC; 1min 21s agoDocs: man:systemd-sysv-generator(8)Tasks: 1 (limit: 9388)Memory: 2.9MCPU: 81msCGroup: /system.slice/sendmail.service└─199151 "sendmail: MTA: accepting connections" "" "" "" "" "" "" "" "" "" ""
Jul 02 03:22:07 FDB001 systemd[1]: Starting LSB: powerful, efficient, and scalable Mail Transport Agent...
Jul 02 03:22:07 FDB001 sendmail[199102]:  * Starting Mail Transport Agent (MTA) sendmail
Jul 02 03:22:07 FDB001 sendmail[199122]: hostname: Temporary failure in name resolution
Jul 02 03:22:07 FDB001 sendmail[199127]: hostname: Temporary failure in name resolution
Jul 02 03:22:07 FDB001 su[199136]: (to smmsp) root on none
Jul 02 03:22:07 FDB001 su[199136]: pam_unix(su:session): session opened for user smmsp(uid=116) by (uid=0)
Jul 02 03:22:07 FDB001 su[199136]: pam_unix(su:session): session closed for user smmsp
Jul 02 03:22:07 FDB001 sm-mta[199151]: starting daemon (8.15.2): SMTP+queueing@00:10:00
Jul 02 03:22:09 FDB001 sendmail[199102]:    ...done.
Jul 02 03:22:09 FDB001 systemd[1]: Started LSB: powerful, efficient, and scalable Mail Transport Agent.
root@FDB001:~#
root@FDB001:~# ll /etc/mail
total 228
drwxr-sr-x   7 smmta smmsp  4096 Jul  2 03:22 ./
drwxr-xr-x 112 root  root   4096 Jul  2 03:22 ../
-rw-------   1 root  root   4265 Jul  2 03:22 access
-rw-r-----   1 smmta smmsp 12288 Jul  2 03:22 access.db
-rw-r--r--   1 root  root    281 Dec  9  2021 address.resolve
lrwxrwxrwx   1 root  smmsp    10 Jul  2 03:22 aliases -> ../aliases
-rw-r-----   1 smmta smmsp 12288 Jul  2 03:22 aliases.db
-rw-r--r--   1 root  root   3226 Jul  2 03:22 databases
-rw-r--r--   1 root  root   5659 Dec  9  2021 helpfile
-rw-r--r--   1 root  smmsp    11 Jul  2 03:22 local-host-names
drwxr-sr-x   2 smmta smmsp  4096 Jul  2 03:22 m4/
-rwxr-xr--   1 root  smmsp 10019 Jul  2 03:22 Makefile*
drwxr-xr-x   2 root  root   4096 Jul  2 03:22 peers/
drwxr-xr-x   2 root  smmsp  4096 Dec  9  2021 sasl/
-rw-r--r--   1 root  smmsp 64130 Jul  2 03:22 sendmail.cf
-rw-r--r--   1 root  root  12235 Jul  2 03:22 sendmail.conf
-rw-r--r--   1 root  smmsp  4066 Jul  2 03:22 sendmail.mc
-rw-r--r--   1 root  root    148 Dec  9  2021 service.switch
-rw-r--r--   1 root  root    179 Dec  9  2021 service.switch-nodns
drwxr-sr-x   2 smmta smmsp  4096 Jul  2 03:22 smrsh/
-rw-r--r--   1 root  smmsp 44563 Jul  2 03:22 submit.cf
-rw-r--r--   1 root  smmsp  2383 Jul  2 03:22 submit.mc
drwxr-xr-x   2 root  smmsp  4096 Dec  9  2021 tls/
-rw-r--r--   1 root  smmsp     0 Jul  2 03:22 trusted-users
root@FDB001:~#
root@FDB001:~# ll /usr/lib/systemd/system |grep mail
root@FDB001:~#
root@FDB001:~# systemctl list-unit-files |grep mail
sendmail.service                           generated       -
root@FDB001:~#
root@FDB001:~# systemctl list-dependencies sendmail --reverse
sendmail.service
● ├─graphical.target
● └─multi-user.target
●   └─graphical.target
root@FDB001:~#
root@FDB001:~# service sendmail status
● sendmail.service - LSB: powerful, efficient, and scalable Mail Transport AgentLoaded: loaded (/etc/init.d/sendmail; generated)Active: active (running) since Tue 2024-07-02 03:22:09 UTC; 23min agoDocs: man:systemd-sysv-generator(8)Tasks: 1 (limit: 9388)Memory: 3.6MCPU: 147msCGroup: /system.slice/sendmail.service└─199151 "sendmail: MTA: accepting connections" "" "" "" "" "" "" "" "" "" ""
Jul 02 03:22:07 FDB001 su[199136]: (to smmsp) root on none
Jul 02 03:22:07 FDB001 su[199136]: pam_unix(su:session): session opened for user smmsp(uid=116)>
Jul 02 03:22:07 FDB001 su[199136]: pam_unix(su:session): session closed for user smmsp
Jul 02 03:22:07 FDB001 sm-mta[199151]: starting daemon (8.15.2): SMTP+queueing@00:10:00
Jul 02 03:22:09 FDB001 sendmail[199102]:    ...done.
Jul 02 03:22:09 FDB001 systemd[1]: Started LSB: powerful, efficient, and scalable Mail Transpor>
Jul 02 03:37:17 FDB001 sm-mta[200089]: 4623bHbK200089: from=<root@FDB001>, size=452, class>
Jul 02 03:37:18 FDB001 sm-mta[200090]: 4623bHbK200089: to=<root@FDB001>, ctladdr=<root@FRS>
Jul 02 03:37:18 FDB001 sm-mta[200092]: 4623bI5I200092: from=<root@FDB001>, size=448, class>
Jul 02 03:37:18 FDB001 sm-mta[200093]: 4623bI5I200092: to=<root@FDB001>, ctladdr=<root@FRS>
root@FDB001:~#
root@FDB001:~# (echo From: "WON Notification <notification@XXX.com>";echo To: "lukes.liao@XXXchina.com";echo Subject: "This is test1";echo "The Content is just a test email1")| /usr/sbin/sendmail -t
--还是收不到邮件,且service sendmail status看不到任何报错信息
root@FDB001:~#
root@FDB001:~# apt-get install m4 sendmail-cf
root@FDB001:~# grep SMART_HOST /etc/mail/sendmail.mc
define(`SMART_HOST', `mxout.XXX.com')
root@FDB001:~# cd /etc/mail
root@FDB001:~# m4 sendmail.mc >sendmail.cf
root@FDB001:~#
root@FDB001:~# service sendmail restart
root@FDB001:~# 
root@FDB001:~# (echo From: "WON Notification <notification@XXX.com>";echo To: "lukes.liao@XXXchina.com";echo To: "lukes.liao2@XXXchina.com";echo Subject: "This is test1";echo "The Content is just a test email1")| /usr/sbin/sendmail -t
--收不到邮件,但是service sendmail status看有报错DSN: Service unavailable
root@FDB001:~# vim /etc/hosts
127.0.0.1 FDB001 FDB001.dai.netdai.com
--加上FDB001.dai.netdai.com
root@FDB001:~# vim /etc/hostname
FDB001.dai.netdai.com
--加上.dai.netdai.com
root@FDB001:~# 
root@FDB001:~# cat /root/emailtest.txt
From: WON Notification <notification@XXX.com>
To: lukes.liao@XXXchina.com
To: lukes.liao2@XXXchina.com
Subject: "This is test1"
The Content is just a test email1
root@FDB001:~#
root@FDB001:~# sendmail -t </root/emailtest.txt

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/43078.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HTTP 请求走私漏洞详解

超详细的HTTP请求走私漏洞教程&#xff0c;看完还不会你来找我。 1. 简介 HTTP请求走私漏洞&#xff08;HTTP Request Smuggling&#xff09;发生在前端服务器&#xff08;也称代理服务器&#xff0c;一般会进行身份验证或访问控制&#xff09;和后端服务器在解析HTTP请求时&…

上位机图像处理和嵌入式模块部署(mcu项目2:串口日志记录器)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 淘宝上面有一个商品蛮好玩的&#xff0c;那就是日志记录器。说是记录器&#xff0c;其实就是一个模块&#xff0c;这个模块的输入是一个ttl串口&am…

利用Python进行数据分析PDF下载经典数据分享推荐

本书由Python pandas项目创始人Wes McKinney亲笔撰写&#xff0c;详细介绍利用Python进行操作、处理、清洗和规整数据等方面的具体细节和基本要点。第2版针对Python 3.6进行全面修订和更新&#xff0c;涵盖新版的pandas、NumPy、IPython和Jupyter&#xff0c;并增加大量实际案例…

Docker Desktop如何换镜像源?

docker现在很多镜像源都出现了问题,导致无法拉取镜像,所以找到一个好的镜像源,尤为重要。 一、阿里镜像源 经过测试,目前,阿里云镜像加速地址还可以使用。如果没有阿里云账号,需要先注册一个账号。 地址:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors 二…

基于Java技术的B/S模式书籍学习平台

你好&#xff0c;我是专注于计算机科学领域的学姐码农小野。如果你对书籍学习平台开发感兴趣或有相关需求&#xff0c;欢迎私信联系我。 开发语言&#xff1a; Java 数据库&#xff1a; MySQL 技术&#xff1a; B/S模式、Java技术 工具&#xff1a; Eclipse、Navicat、Mave…

【Go】函数的使用

目录 函数返回多个值 init函数和import init函数 main函数 函数的参数 值传递 引用传递&#xff08;指针&#xff09; 函数返回多个值 用法如下&#xff1a; package mainimport ("fmt""strconv" )// 返回多个返回值&#xff0c;无参数名 func Mu…

相邻不同数字的标记

链接&#xff1a;登录—专业IT笔试面试备考平台_牛客网 来源&#xff1a;牛客网 时间限制&#xff1a;C/C 1秒&#xff0c;其他语言2秒 空间限制&#xff1a;C/C 262144K&#xff0c;其他语言524288K 64bit IO Format: %lld 题目描述 小红拿到了一个数组&#xff0c;每个数…

ctfshow web入门 nodejs web334--web337

web334 有个文件下载之后改后缀为zip加压就可以得到两个文件 一个文件类似于index.php 还有一个就是登录密码登录成功就有flag username:ctfshow password:123456因为 return name!CTFSHOW && item.username name.toUpperCase() && item.password passwor…

SpringBoot的热部署和日志体系

SpringBoot的热部署 每次修改完代码&#xff0c;想看效果的话&#xff0c;不用每次都重新启动代码&#xff0c;等待项目重启 这样就可以了 JDK官方提出的日志框架&#xff1a;Jul log4j的使用方式&#xff1a; &#xff08;1&#xff09;引入maven依赖 &#xff08;2&#x…

软件开发语言都有哪些?

构建高效、稳定且安全的服务器应用&#xff0c;开发者们需要选择合适的编程语言。以下是几种流行的网络服务器开发语言&#xff0c;每种语言都有其独特的特性和适用场景。 Java Java是一种广泛使用的高级编程语言&#xff0c;以其“一次编写&#xff0c;到处运行”的理念而著称…

光谱优化算法(Lightning Search Optimization, LSO)及其Python和MATLAB实现

光谱优化算法&#xff08;Lightning Search Optimization, LSO&#xff09;是一种基于自然界雷暴现象启发的新型优化算法&#xff0c;旨在寻找最优解或近似最优解的问题。LSO算法不仅可以用于连续优化问题&#xff0c;还能用于离散优化问题。接下来将详细介绍LSO算法的背景、原…

内镜像源-大全

1、pip安装镜像 阿里镜像 https://developer.aliyun.com/mirror/ 清华大学开源软件镜像 https://mirrors.tuna.tsinghua.edu.cn/ 浙大镜像源 http://mirrors.zju.edu.cn/ 网易镜像源 https://mirrors.163.com/ sohu镜像源 https://mirrors.sohu.com/ 中科大镜像 https://mirr…

OS Copilot测评-CSDN

登录控制台 安装插件 sudo yum install -y os-copilot效果如下 配置 AccessKey ID 与 AccessKey Secret 注意安全&#xff0c;使用完成后&#xff0c;别忘了去控制台删除&#xff0c;一般情况使用子Key就可以 检测是否可用 co hi实际操作(当前为官方案例请求) 实操1&…

RoPE 旋转位置编码,详细解释(下)NLP 面试的女生彻底说明白了

RoPE 旋转位置编码&#xff0c;详细解释&#xff08;下&#xff09;NLP 面试的女生彻底说明白了 原创 看图学 看图学 2024年07月01日 07:55 北京 书接上文&#xff0c;上文见&#xff1a;这么解释 RoPE 旋转位置编码&#xff0c;女朋友睁大了双眼&#xff08;上&#xff09; …

C++ explicit 用法

一、概述 explicit关键字用于防止构造函数或转换操作符在不明确的情况下被隐式调用&#xff0c;从而避免意外的类型转换。这在类的设计中非常有用&#xff0c;可以增强代码的可读性和安全性。 二、用法示例 1. 用于构造函数 假设有一个简单的类 A&#xff1a; class A { p…

metersphere链接腾讯邮箱步骤

1、打开腾讯邮箱生成授权码 路径&#xff1a;设置-账户-账户安全 生成的授权码只会展示1次&#xff0c;注意保存 2、在系统设置-系统参数设置-邮件设置填写授权码和SMTP信息 SMTP信息在邮箱的客户端设置中可以获取到对应的信息 3、信息填写完后&#xff0c;可以测试连接&…

python中TensorFlow框架的简单深度学习项目图像分类示例

❤❤引言 &#x1f44d;&#x1f44d;点关注编程梦想家&#xff08;大学生版&#xff09;-CSDN博客不迷路❤❤ 这个示例项目使用了CIFAR-10数据集&#xff0c;这是一个包含10个类别的60,000张32x32彩色图像的数据集&#xff0c;类别包括飞机、汽车、鸟类等。模型是一个简单的…

Pytest单元测试系列[v1.0.0][高级技巧]

playwright结合pytest使用 安装配置环境 PS D:\Programs\Python\com.davieyang.demo> pip install pytest-playwright Collecting pytest-playwrightDownloading pytest_playwright-0.3.0-py3-none-any.whl (10 kB) Requirement already satisfied: pytest in c:\program …

集成sa-token前后端分离部署配置corsFliter解决跨域失效的真正原因

文章目录 1.前言2.问题复现3.解决方法3.1 方式一&#xff1a;后端修改CorsFilter源码3.2 方式二&#xff1a;前端禁用或移除浏览器referrer-policy引用者策略 4.总结 1.前言 缘由请参看下面这篇文章&#xff1a;sa-token前后端分离解决跨域的正确姿势 https://mp.weixin.qq.co…

桌面记笔记的软件:能加密的笔记app

在日常生活和工作中&#xff0c;很多人都有记笔记的习惯。无论是记录会议要点、学习心得&#xff0c;还是生活中的点滴灵感&#xff0c;笔记都是我们不可或缺的好帮手。然而&#xff0c;传统的纸笔记录方式逐渐不能满足现代人的需求&#xff0c;因为纸质笔记不易保存、查找困难…