第十四章 使用Postfix与Dovecot部署邮件系统

news2024/11/26 2:52:10

文章目录

    • 第十四章 使用Postfix与Dovecot部署邮件系统
        • 一、电子邮件系统
          • 1、常见的邮件协议
          • 2、注意事项
        • 二、部署电子邮件系统
          • 1、部署基础的电子邮件系统
            • (1)、配置服务器主机名称
            • (2)、配置服务器的DNS地址
            • (3)配置防火墙策略
            • (4)、为电子邮件系统提供域名解析
            • (5)、检验效果
          • 2、配置Postfix服务程序
            • (1)、Postfix简介
            • (2)、Postfix服务程序主配置文件中的重要参数
            • (3)、安装Postfix服务程序
            • (4)、编辑主配置文件
            • (5)、创建电子邮件系统的登录账户
          • 3、配置Dovecot服务程序
            • (1)、Dovecot简介
            • (2)、安装Dovecot服务程序
            • (3)、编辑主配置文件
            • (4)、配置邮件格式与存储路径
            • (5)、配置防火墙
          • 4、客户电子邮件系统
            • (1)、服务器与客户端的操作系统与IP地址
            • (2)、Windows安装Outlook
            • (3)、Windows发送邮件
            • (4)、thunderbird简介
            • (5)、centos安装thunderbird服务程序
            • (6)、centos发送邮件
          • 5、查看邮件
            • (1)、安装mailx服务程序
            • (2)、查看邮件
        • 三、设置用户别名邮箱
          • 1、用户别名功能简介
          • 2、发送邮件
          • 3、查看邮件
          • 4、查看aliases邮件别名服务的配置文件

第十四章 使用Postfix与Dovecot部署邮件系统

一、电子邮件系统

1、常见的邮件协议

简单邮件传输协议(Simple Mail Transfer Protocol,SMTP):用于发送和中转发出的电子邮件,占用服务器的25/TCP端口。

邮局协议版本3(Post Office Protocol 3):用于将电子邮件存储到本地主机,占用服务器的110/TCP端口。

Internet消息访问协议版本4(Internet Message Access Protocol 4):用于在本地主机上访问邮件,占用服务器的143/TCP端口。

2、注意事项

添加反垃圾与反病毒模块:它能够很有效地阻止垃圾邮件或病毒邮件对企业信箱的干扰。

对邮件加密:可有效保护邮件内容不被黑客盗取和篡改。

添加邮件监控审核模块:可有效地监控企业全体员工的邮件中是否有敏感词,是否有泄露企业资料等违规行为。

保障稳定性:电子邮件系统的稳定性至关重要,运维人员应做到保证电子邮件系统的稳定运行,并及时做好防范分布式拒绝服务攻击的准备。

二、部署电子邮件系统

1、部署基础的电子邮件系统
(1)、配置服务器主机名称
[root@centos ~]# vim /etc/hostname 
mail.centos.com
[root@centos ~]# hostnamectl set-hostname mail.centos.com
[root@centos ~]# hostname
mail.centos.com
(2)、配置服务器的DNS地址
[root@centos ~]# nmtui
//重启网卡
[root@centos ~]# nmcli connection up ens160 
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/5

在这里插入图片描述

(3)配置防火墙策略
//清空防火墙默认策略
[root@centos ~]# iptables -F
//保存策略状态
[root@centos ~]# iptables-save 
//添加DNS协议到允许列表
[root@centos ~]# firewall-cmd --zone=public --add-service=dns --permanent 
success
//重启防火墙
[root@centos ~]# firewall-cmd --reload 
success
(4)、为电子邮件系统提供域名解析
//安装bind-chroot
[root@centos ~]# yum install bind-chroot
//编辑主配置文件
[root@centos ~]# vim /etc/named.conf 
options {
        listen-on port 53 { any; };
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        secroots-file   "/var/named/data/named.secroots";
        recursing-file  "/var/named/data/named.recursing";
        allow-query     { any; };
//编辑区域配置文件
[root@centos ~]# vim /etc/named.rfc1912.zones
zone "aaa.com" IN {
        type master;
        file "aaa.com.zone";
        allow-update { none; };
};
//编辑数据配置文件
[root@centos ~]# cp -a /var/named/named.localhost /var/named/aaa.com.zone
[root@centos ~]# vim /var/named/aaa.com.zone 
$TTL 1D
@	IN SOA	aaa.com.	root.aaa.com (
					0	; serial
					1D	; refresh
					1H	; retry
					1W	; expire
					3H )	; minimum
	NS	ns.aaa.com.
ns 	IN A	192.168.10.10
@	IN MX 10	mail.aaa.com.
mail 	IN A	192.168.10.10
//重启服务并设置开机自启动
[root@centos ~]# systemctl restart named && systemctl enable named
Created symlink /etc/systemd/system/multi-user.target.wants/named.service → /usr/lib/systemd/system/named.service.
(5)、检验效果
//ping域名
[root@centos ~]# ping -c 4 mail.aaa.com
PING mail.aaa.com (192.168.10.10) 56(84) bytes of data.
64 bytes from mail.centos.com (192.168.10.10): icmp_seq=1 ttl=64 time=0.033 ms
64 bytes from mail.centos.com (192.168.10.10): icmp_seq=2 ttl=64 time=0.046 ms
64 bytes from mail.centos.com (192.168.10.10): icmp_seq=3 ttl=64 time=0.113 ms
64 bytes from mail.centos.com (192.168.10.10): icmp_seq=4 ttl=64 time=0.072 ms

--- mail.aaa.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3047ms
rtt min/avg/max/mdev = 0.033/0.066/0.113/0.030 ms
2、配置Postfix服务程序
(1)、Postfix简介

Postfix是一款由IBM资助研发的免费开源电子邮件服务程序,能够很好的兼容Sendmail服务程序,可以方便Sendmail用户迁移到Postfix服务上,Postfix服务程序的邮件收发能力强于Sendmail服务,而且能够自动增加、减少进程的数量来保证电子邮件系统的高性能与稳定性。Postfix服务程序由许多小模块组成,每个小模块都可以完成特定的功能。

(2)、Postfix服务程序主配置文件中的重要参数
参数作用
myhostname邮局系统的主机名
mydomain邮局系统的域名
myorigin从本机发出邮件的域名名称
inet_interfaces监听的网卡接口
mydestination可接收邮件的主机名或域名
mynetworks设置可转发哪些主机的邮件
relay_domains设置可转发哪些网域的邮件
(3)、安装Postfix服务程序
[root@mail ~]# yum install postfix
上次元数据过期检查:6:26:43 前,执行于 20230512日 星期五 133631秒。
依赖关系解决。
=============================================================
 软件包       架构        版本               仓库       大小
=============================================================
安装:
 postfix      x86_64      2:3.5.8-2.el8      base      1.5 M

事务概要
=============================================================
安装  1 软件包

总下载:1.5 M
安装大小:4.3 M
确定吗?[y/N]: y
下载软件包:
postfix-3.5.8-2.el8.x86_64.r 3.2 MB/s | 1.5 MB     00:00    
-------------------------------------------------------------
总计                         3.2 MB/s | 1.5 MB     00:00     
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
  准备中  :                                              1/1 
  运行脚本: postfix-2:3.5.8-2.el8.x86_64                 1/1 
  安装    : postfix-2:3.5.8-2.el8.x86_64                 1/1 
  运行脚本: postfix-2:3.5.8-2.el8.x86_64                 1/1 
  验证    : postfix-2:3.5.8-2.el8.x86_64                 1/1 

已安装:
  postfix-2:3.5.8-2.el8.x86_64                               

完毕!
(4)、编辑主配置文件
[root@mail ~]# vim /etc/postfix/main.cf
//在第95行定义一个名为myhostname的变量
 95 myhostname = mail.aaa.com
//在第102行定义一个名为mydomain的变量
102 mydomain = aaa.com
//在第118行调用domain变量
118 myorigin = $mydomain
//在第135行定义网卡监听地址
135 inet_interfaces = all
//在第183行定义可接收邮件的主机名或域名列表
183 mydestination = $myhostname, $mydomain
(5)、创建电子邮件系统的登录账户
//添加账户:kali,密码:centos
[root@mail ~]# useradd kali
[root@mail ~]# echo "centos" | passwd --stdin kali
更改用户 kali 的密码 。
passwd:所有的身份验证令牌已经成功更新。
//重启服务并设置开机自启动
[root@mail ~]# systemctl restart postfix.service && systemctl enable postfix.service 
Created symlink /etc/systemd/system/multi-user.target.wants/postfix.service → /usr/lib/systemd/system/postfix.service.
3、配置Dovecot服务程序
(1)、Dovecot简介

Dovecot是一款能够为Linux系统提供 IMAP和POP3电子邮件服务的开源服务程序,安全性极高、配置简单、执行速度快,而且占用的服务器硬件资源较少。

(2)、安装Dovecot服务程序
[root@mail ~]# yum install dovecot
上次元数据过期检查:6:27:39 前,执行于 20230512日 星期五 133631秒。
依赖关系解决。
=============================================================
 软件包       架构   版本                    仓库       大小
=============================================================
安装:
 dovecot      x86_64 1:2.3.8-9.el8           AppStream 5.0 M
安装依赖关系:
 clucene-core x86_64 2.3.3.4-31.20130812.e8e3d20git.el8
                                             AppStream 596 k

事务概要
=============================================================
安装  2 软件包

总下载:5.6 M
安装大小:19 M
确定吗?[y/N]: y
下载软件包:
(1/2): clucene-core-2.3.3.4- 1.5 MB/s | 596 kB     00:00    
(2/2): dovecot-2.3.8-9.el8.x 5.2 MB/s | 5.0 MB     00:00    
-------------------------------------------------------------
总计                         5.8 MB/s | 5.6 MB     00:00     
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
  准备中  :                                              1/1 
  安装    : clucene-core-2.3.3.4-31.20130812.e8e3d20gi   1/2 
  运行脚本: dovecot-1:2.3.8-9.el8.x86_64                 2/2 
  安装    : dovecot-1:2.3.8-9.el8.x86_64                 2/2 
  运行脚本: dovecot-1:2.3.8-9.el8.x86_64                 2/2 
  验证    : clucene-core-2.3.3.4-31.20130812.e8e3d20gi   1/2 
  验证    : dovecot-1:2.3.8-9.el8.x86_64                 2/2 

已安装:
  clucene-core-2.3.3.4-31.20130812.e8e3d20git.el8.x86_64     
  dovecot-1:2.3.8-9.el8.x86_64                               

完毕!
(3)、编辑主配置文件
[root@mail ~]# vim /etc/dovecot/dovecot.conf  
//在第24行修改电子邮件协议为imap、pop3、lmtp
24 protocols = imap pop3 lmtp 
//在第25行添加参数为允许用户使用明文进行密码验证
 25 disable_plaintext_auth = no
//在第49行设置允许登录的网段地址
 49 login_trusted_networks = 192.168.10.0/24
(4)、配置邮件格式与存储路径
[root@mail ~]# vim /etc/dovecot/conf.d/10-mail.conf 
//在第25行删除#
 25     mail_location = mbox:~/mail:INBOX=/var/mail/%u
//切换账户
[root@mail ~]# su - kali
//创建用来保存邮件的目录
[kali@mail ~]$ mkdir -p mail/.imap/INBOX
//退出登录
[kali@mail ~]$ exit
注销
(5)、配置防火墙
//将邮件协议放行
[root@centos ~]# firewall-cmd --zone=public --add-service=imap --permanent 
success
[root@centos ~]# firewall-cmd --zone=public --add-service=pop3 --permanent 
success
[root@centos ~]# firewall-cmd --zone=public --add-service=smtp --permanent 
success
[root@centos ~]# firewall-cmd --reload 
success
//重启服务并设置开机自启动
[root@centos ~]# systemctl restart dovecot && systemctl enable dovecot
Created symlink /etc/systemd/system/multi-user.target.wants/dovecot.service → /usr/lib/systemd/system/dovecot.service.
4、客户电子邮件系统
(1)、服务器与客户端的操作系统与IP地址
主机名称操作系统IP地址
电子邮件系统及DNS服务器Centos 8192.168.10.10
客户端主机Centos8192.168.10.20
客户端主机Windows 10192.168.10.30

在这里插入图片描述
在这里插入图片描述

(2)、Windows安装Outlook

下载地址:博客主页资源免费
百度网盘:https://pan.baidu.com/s/15mCU9-0-YnMV_9W1CDuj-A?pwd=uayp
提取码:uayp

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

(3)、Windows发送邮件

在这里插入图片描述

在这里插入图片描述

(4)、thunderbird简介

Thunderbird是一款由FIreFox火狐浏览器的母公司Mozilla基金会发布的电子邮件客户端,兼具FireFox浏览器的各种优势,实现跨平台支持,拥有各种插件和丰富功能,简单的操作会让用户更容易轻松的上手。

(5)、centos安装thunderbird服务程序
完毕!
[root@centos ~]# yum install thunderbird
上次元数据过期检查:0:03:02 前,执行于 20230514日 星期日 115047秒。
依赖关系解决。
================================================================================
 软件包          架构             版本                     仓库            大小
================================================================================
安装:
 thunderbird   x86_64       91.4.0-2.el8_5            AppStream       100 M

事务概要
================================================================================
安装  1 软件包

总下载:100 M
安装大小:261 M
确定吗?[y/N]: y
下载软件包:
thunderbird-91.4.0-2.el8_5.x86_64.rpm   7.2 MB/s | 100 MB     00:13    
--------------------------------------------------------------------------------
总计                                     7.2 MB/s | 100 MB     00:13     
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
  准备中  :                                                      1/1 
  安装    : thunderbird-91.4.0-2.el8_5.x86_64                    1/1 
  运行脚本: thunderbird-91.4.0-2.el8_5.x86_64                     1/1 
  验证    : thunderbird-91.4.0-2.el8_5.x86_64                    1/1 

已安装:
  thunderbird-91.4.0-2.el8_5.x86_64                                                                                                                           

完毕!
(6)、centos发送邮件
//启动软件
[root@centos ~]# thunderbird 

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

5、查看邮件
(1)、安装mailx服务程序
[root@mail ~]# yum install mailx
上次元数据过期检查:1 day, 20:43:42 前,执行于 20230512日 星期五 133631秒。
依赖关系解决。
================================================================================
 软件包          架构             版本                     仓库            大小
================================================================================
安装:
 mailx         x86_64        12.5-29.el8                base           257 k

事务概要
================================================================================
安装  1 软件包

总下载:257 k
安装大小:491 k
确定吗?[y/N]: y
下载软件包:
mailx-12.5-29.el8.x86_64.rpm                    1.1 MB/s | 257 kB     00:00    
--------------------------------------------------------------------------------
总计                                            1.1 MB/s | 257 kB     00:00     
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
  准备中  :                                                                 1/1 
  安装    : mailx-12.5-29.el8.x86_64                                        1/1 
  运行脚本: mailx-12.5-29.el8.x86_64                                        1/1 
  验证    : mailx-12.5-29.el8.x86_64                                        1/1 

已安装:
  mailx-12.5-29.el8.x86_64                                                      

完毕!
(2)、查看邮件
[root@centos ~]# mailx 
Heirloom Mail version 12.5 7/5/10.  Type ? for help.
"/var/spool/mail/root": 2 messages 1 new
    1 kali                  Sun May 14 11:34  96/3002  "重试"
>N  2 kali                  Sun May 14 12:45  22/677   "tets"
& 
Message  1:
From kali@aaa.com  Sun May 14 10:25:53 2023
Return-Path: <kali@aaa.com>
X-Original-To: root@aaa.com
Delivered-To: root@aaa.com
From: "kali" <kali@aaa.com>
To: <root@aaa.com>
Subject: 验证试验是否成功!
Date: Sun, 14 May 2023 10:25:52 +0800
Content-Type: multipart/alternative;
	boundary="----=_NextPart_000_0001_01D9864E.761D19D0"
X-Mailer: Microsoft Outlook 14.0
Thread-Index: AdmGCc70z5DBqyBcT9er+qZdjUKB3g==
Content-Language: zh-cn
Status: R

Content-Type: text/plain;
	charset="gb2312"

当你看到这份邮件时,证明实验成功了。
& 2
Message  2:
From kali@aaa.com  Sun May 14 12:45:48 2023
Return-Path: <kali@aaa.com>
X-Original-To: root@aaa.com
Delivered-To: root@aaa.com
Date: Sun, 14 May 2023 12:45:48 +0800
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.0
Content-Language: en-US
To: root@aaa.com
From: kali <kali@aaa.com>
Subject: tets
Content-Type: text/plain; charset=UTF-8; format=flowed
Status: R

test
& quit
Held 1 message in /var/spool/mail/root
您在 /var/spool/mail/root 中有邮件

三、设置用户别名邮箱

1、用户别名功能简介

用户别名功能是一项简单实用的邮件账户伪装技术,可以用来设置多个虚拟信箱的账户已接收发送的邮件,从而保证自身邮件地址不被泄露,还可以用来接收自己的多个信箱中的邮件。

2、发送邮件

在这里插入图片描述

3、查看邮件

在邮件发送后登录到服务器,使用bin账户登录,由于bin账户是系统账户,默认的Shell终端是/sbin/nologin,因此在bin账户登录时,系统会提示当前账户不可用。但是,在电子邮件服务器上使用mailx命令后,却可以看到这封原本要发送给bin账户的邮件已经被存放到了root账户的信箱中。

//切换账号
[root@mail ~]# su - bin 
This account is currently not available.
//查看邮件
[root@mail ~]# mailx
Heirloom Mail version 12.5 7/5/10.  Type ? for help.
"/var/spool/mail/root": 2 messages 1 new
    1 kali                  Sun May 14 10:25  97/3159  "验"
>N  2 kali                  Sun May 14 10:35  97/3087  "你"
& 
Message  2:
From kali@aaa.com  Sun May 14 10:35:47 2023
Return-Path: <kali@aaa.com>
X-Original-To: bin@aaa.com
Delivered-To: bin@aaa.com
From: "kali" <kali@aaa.com>
To: <bin@aaa.com>
Subject: 你好!
Date: Sun, 14 May 2023 10:35:47 +0800
Content-Type: multipart/alternative;
	boundary="----=_NextPart_000_000E_01D9864F.D891C330"
X-Mailer: Microsoft Outlook 14.0
Thread-Index: AdmGDCAy6OK4In6DSAG9I3Yc7DMEwA==
Content-Language: zh-cn
Status: R

Content-Type: text/plain;
	charset="gb2312"

你好,bin!

& quit
Held 2 messages in /var/spool/mail/root
您在 /var/spool/mail/root 中有邮件
4、查看aliases邮件别名服务的配置文件
[root@mail ~]# cat /etc/aliases
#
#  Aliases in this file will NOT be expanded in the header from
#  Mail, but WILL be visible over networks or from /bin/mail.
#
#	>>>>>>>>>>	The program "newaliases" must be run after
#	>> NOTE >>	this file is updated for any changes to
#	>>>>>>>>>>	show through to sendmail.
#

# Basic system aliases -- these MUST be present.
mailer-daemon:	postmaster
postmaster:	root

# General redirections for pseudo accounts.
bin:		root
daemon:		root
adm:		root

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

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

相关文章

GDPU C语言 天码行空12 (未完待续)

&#x1f351; C语言实验专栏 编程题 1. 统计文本文件中各类字符的个数 &#x1f351; C语言读写文件 #include <stdio.h> #include<ctype.h> //判断字符类型函数的头文件int main() {FILE *fp1 NULL,*fp2 NULL;fp1 fopen("f1.txt", "w")…

MyBatis练习

阅读教程实例&#xff0c;我们了解原理后可以自己模仿地写一个程序练练手。 1、创建表&#xff0c;然后手动导入数据 create table four kings (id int primary key,name varchar(4) ,idea varchar(20) )CHARSETutf8;; 2、 写一个实体类&#xff0c;对应数据库的表 package …

什么是网络自动化?有多重要?

什么是网络自动化 网络自动化是在网络环境中实现网络和安全自动化的方法&#xff0c;通过减少人力工作量和人为错误来最大限度地提高效率。 网络自动化是自动化每个网络任务&#xff08;如配置管理、备份和监控&#xff09;的过程&#xff0c;以实现管理大型网络基础架构的最…

小红薯评/论数据采集工具

一、小红薯【评/论】采集工具链接&#xff1a; http://106.53.68.168:9920/xhs-comment-spider 二、使用方式 1、打开网页链接后&#xff0c;按照网页各步骤提示进行操作即可。 2、采集数据时&#xff0c;页面右上角显示【RUNNING】代表在运行中&#xff0c;采集结束后&#xf…

【软件测试】初级测试,如何走向中高级软件测试?

关于软件测试这几年是越来越红火&#xff0c;待遇对于其他行业也是非常的高&#xff0c;万八千的待遇很正常&#xff0c;而现在软件测试行业等级越来越专业化&#xff0c;对软件测试工程师的要求也是越来越高&#xff0c;软件测试工程师一般会分为初级软件测试工程师&#xff0…

Web身份验证(WebAuthn)

目录 1、WebAuthn简介 2、FIDO2&#xff1a;客户端到验证器协议&#xff08;CTAP&#xff09; 3、浏览器和平台 4、Web身份验证API 基本流程 5、使用 WebAuthn API 5.1 注册WebAuthn凭据 5.2使用WebAuthn凭据进行身份验证 6、 WebAuthn演示&#xff08;注册和认证&…

IO 与进程线程

IO进程 scanf\printf:终端 IO&#xff1a;input/output&#xff0c;文件 标准IO 文件IO 文件属性获取&#xff1a;ls -l 文件类型 文件权限 链接数 用户名 组名 大小 时间 文件名 目录操作&#xff1a;ls 库 进程 进程&#xff1a;创建进程 线程&#xff1a;创建线程…

36、Adaptive Forms(4)Create Adapt Form

文章目录 36、Adaptive Forms&#xff08;4&#xff09;Create Adapt FormData Model服务配置创建Adapt Form Template创建Adapt Form 36、Adaptive Forms&#xff08;4&#xff09;Create Adapt Form DataModel创建好后&#xff0c;就可以进行数据的获取和存储。 Data Model…

抖音seo源码开发/技术自研底层逻辑

抖音seo霸屏&#xff0c;是一种专为抖音视频创作者和传播者打造的视频批量剪辑&#xff0c;批量分发产品。使用抖音seo霸屏软件&#xff0c;可以帮助用户快速高效的制作出高质量的优质视频。 使用方法&#xff1a;1. 了解用户的行为习惯 2. 充分利用自身资源进行开发 3. 不…

开心档之Java 基本数据类型

Java 基本数据类型 目录 Java 基本数据类型 内置数据类型 实例 实例 类型默认值 实例 引用类型 Java 常量 自动类型转换 自动类型转换 实例 强制类型转换 实例 隐含强制类型转换 变量就是申请内存来存储值。也就是说&#xff0c;当创建变量的时候&#xff0c;需…

4.5.1 虚拟局域网(一)

4.5.1 虚拟局域网&#xff08;一&#xff09; 一、虚拟局域网的划分 虚拟局域网的划分是非常灵活的&#xff0c;可以根据端口进行划分&#xff0c;也可以根据MAC地址进行划分&#xff0c;也可以根据网络层协议进行划分甚至根据IP组播进行划分。 &#xff08;一&#xff09;基…

百度工程师移动开发避坑指南——内存泄漏篇

作者 | 启明星小组 在日常编写代码时难免会遇到各种各样的问题和坑&#xff0c;这些问题可能会影响我们的开发效率和代码质量&#xff0c;因此我们需要不断总结和学习&#xff0c;以避免这些问题的出现。接下来我们将围绕移动开发中常见问题做出总结&#xff0c;以提高大家的开…

【Prompting】ChatGPT Prompt Engineering开发指南(6)

ChatGPT Prompt Engineering开发指南&#xff1a;Expanding/The Chat Format Expanding自定义对客户电子邮件的自动回复提醒模型使用客户电子邮件中的详细信息 The Chat Format总结内容来源 在本教程中&#xff0c;第一部分学习生成客户服务电子邮件&#xff0c;这些电子邮件是…

前端(HTML)

网络传输三大基石:URL,HTTP,HTML 前端使用URL利用HTTP协议去向服务器端发送请求某个资源&#xff0c;服务器端响应浏览器一个HTML页面&#xff0c;浏览器对HTML页面解析 HTML的标准结构: 【1】先用普通文本文档新建一个文本&#xff0c;将文本的后缀改为.html 或者 .htm 我…

chatgpt赋能Python-mac版的python怎么用

Mac版Python的使用指南 Python是一种高级编程语言&#xff0c;常用于Web开发、数据分析、机器学习等领域。在Mac系统上&#xff0c;Python的安装和使用非常方便。本文将介绍如何在Mac上安装和使用Python并演示几个常见的Python用例。 Python在Mac上的安装 Mac电脑自带Python…

springboot+jsp+javaweb学生信息管理系统 05hs

springboot是基于spring的快速开发框架, 相比于原生的spring而言, 它通过大量的java config来避免了大量的xml文件, 只需要简单的生成器便能生成一个可以运行的javaweb项目, 是目前最火热的java开发框架 &#xff08;1&#xff09;管理员模块&#xff1a;系统中的核心用户是管…

蓝牙耳机什么牌子的好用?发烧友实测2023年蓝牙耳机排名

从AirPods入坑蓝牙耳机开始&#xff0c;断断续续已经买过二十多款蓝牙耳机了&#xff0c;我每天都会逛逛数码板块&#xff0c;最近看到了2023年蓝牙耳机排名&#xff0c;为检验是否名副其实&#xff0c;我购入了排名前五的品牌进行了一个月的测试&#xff0c;接下来我就来分享一…

k8s系列(四)——资源对象

k8s系列四——资源对象 pod概念 思考&#xff1a;为什么k8s会引出pod这个概念&#xff0c;容器不能解决么&#xff1f; 我的理解&#xff1a;一组密切相关的服务使用容器的话&#xff0c;如果他们的镜像不在一个容器里的话&#xff0c;那么就需要配置反向代理进行通信&#xf…

Packet Tracer – 配置中继

Packet Tracer – 配置中继 地址分配表 设备 接口 IP 地址 子网掩码 交换机端口 VLAN PC1 NIC 172.17.10.21 255.255.255.0 S2 F0/11 10 PC2 NIC 172.17.20.22 255.255.255.0 S2 F0/18 20 PC3 NIC 172.17.30.23 255.255.255.0 S2 F0/6 30 PC4 NIC 1…

java 根据指定字段排序(mysql)

需求&#xff1a; 查询数据的时候&#xff0c;由前端指定字段和排序方式进行排序。 这时候要怎么做呢&#xff1f; 要定义一个相应的类&#xff0c;排序的时候&#xff0c;是动态拼接的。 要考虑多个字段&#xff0c;不同排序方式的情况。 处理 OrderField import io.swagge…