Linux学习19-gitlab配置邮箱postfix(新用户激活邮件)
前言
gitlab新增新用户有两种方式,第一种可以用户主动注册(自己设置密码);第二种也可以通过root管理员用户直接添加用户,发个邮件到用户的邮箱里,收到邮件后激活。
如果是第二种方式添加新用户的话,就需要配置gitlab邮箱了。
相关环境
postfix
gitlab
postfix配置
前面一篇已经安装好postfix相关环境https://www.cnblogs.com/yoyoketang/p/10272544.html
先输入systemctl status postfix确定postfix是启动状态,看到 Active: active (running)说明,已经启动了
[root@yoyo ~]# systemctl status postfix
● postfix.service - Postfix Mail Transport Agent
Loaded: loaded (/usr/lib/systemd/system/postfix.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2019-01-17 10:24:03 CST; 1 day 1h ago
Main PID: 1629 (master)
CGroup: /system.slice/postfix.service
├─ 1629 /usr/libexec/postfix/master -w
├─ 1631 qmgr -l -t unix -u
└─31352 pickup -l -t unix -u
Jan 18 09:29:37 yoyo postfix/smtp[19300]: 165D54046D: to=<admin@example.com>, relay=none, delay=7...out)
Jan 18 09:39:07 yoyo postfix/qmgr[1631]: 2A0804044C: from=<gitlab@47.104.190.48>, size=7538, nrcp...ive)
Jan 18 09:39:37 yoyo postfix/smtp[20356]: connect to example.com[93.184.216.34]:25: Connection timed out
Jan 18 09:39:37 yoyo postfix/smtp[20356]: 2A0804044C: to=<admin@example.com>, relay=none, delay=8...out)
Jan 18 10:39:07 yoyo postfix/qmgr[1631]: 165D54046D: from=<gitlab@47.104.190.48>, size=7547, nrcp...ive)
Jan 18 10:39:37 yoyo postfix/smtp[26711]: connect to example.com[93.184.216.34]:25: Connection timed out
Jan 18 10:39:37 yoyo postfix/smtp[26711]: 165D54046D: to=<admin@example.com>, relay=none, delay=7...out)
Jan 18 10:49:07 yoyo postfix/qmgr[1631]: 2A0804044C: from=<gitlab@47.104.190.48>, size=7538, nrcp...ive)
Jan 18 10:49:37 yoyo postfix/smtp[27758]: connect to example.com[93.184.216.34]:25: Connection timed out
Jan 18 10:49:37 yoyo postfix/smtp[27758]: 2A0804044C: to=<admin@example.com>, relay=none, delay=8...out)
Hint: Some lines were ellipsized, use -l to show in full.
vim打开gitlab的配置文件:/etc/gitlab/gitlab.rb,新增以下内容
- smtp_addressQQ邮箱服务器是smtp.qq.com
- smtp_port端口465 (注意,不要用25端口)
- smtp_user_name 配置自己的QQ号
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "2833xxx@qq.com" # 你自己QQ号
gitlab_rails['smtp_password'] = "*************" # QQ授权码
gitlab_rails['smtp_domain'] = "smtp.qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = '2833xxx@qq.com' # 你自己QQ号
注意:这里的qq密码是授权码
打开QQ邮箱-设置-账户-帐户安全-开启服务-POP3/SMTP服务-生成授权码-发个短信

配置完成后执行gitlab-ctl reconfigure 让配置生效
gitlab-ctl reconfigure
测试邮箱
执行 gitlab-rails console进入控制台交互界面, 然后在控制台提示符后输入下面内容发送一封测试邮件,测试完成后exit()退出。
gitlab-rails console
Notify.test_email('yoyo_你自己随便邮箱@qq.com', '邮件标题_test', '邮件正文_test').deliver_now
[root@yoyo gitlab]# gitlab-rails console
Loading production environment (Rails 4.2.8)
irb(main):001:0> Notify.test_email('yoyo_******@qq.com', '邮件标题_test', '邮件正文_test').deliver_now
Notify#test_email: processed outbound mail in 1.2ms
Sent mail to yoyo_******@qq.com(1375.0ms)
Date: Fri, 18 Jan 2019 13:58:24 +0800
From: GitLab <2833xxx@qq.com>
Reply-To: GitLab <noreply@47.104.190.48>
To: yoyo_******@qq.com
Message-ID: <5c416b00e10ef_3e8f3fe6bd9db11817659@yoyo.mail>
Subject: =?UTF-8?Q?=E9=82=AE=E7=AE=B1=E4=B8=BB=E9=A2=98=5Ftest?=
Mime-Version: 1.0
Content-Type: text/html;
charset=UTF-8
Content-Transfer-Encoding: quoted-printable
Auto-Submitted: auto-generated
X-Auto-Response-Suppress: All
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www=
.w3.org/TR/REC-html40/loose.dtd">
<html><body><p>=E9=82=AE=E7=AE=B1=E6=AD=A3=E6=96=87_test</p></body></html=
>
=> #<Mail::Message:70259829672900, Multipart: false, Headers: <Date: Fri, 18 Jan 2019 13:58:24 +0800>,
<From: GitLab <2833xxx@qq.com>>, <Reply-To: GitLab <noreply@47.104.190.48>>,
<To: yoyo_******@qq.com>, <Message-ID: <5c416b00e10ef_3e8f3fe6bd9db11817659@yoyo.mail>>,
<Subject: 邮箱主题_test>, <Mime-Version: 1.0>, <Content-Type: text/html; charset=UTF-8>,
<Content-Transfer-Encoding: quoted-printable>,
<Auto-Submitted: auto-generated>,
<X-Auto-Response-Suppress: All>>
irb(main):006:0> exit() # 退出

新增新账号
使用root管理员用户登录gitlab后台-> Users -> New user

填写完用户信息后,点 Crear user按钮,填的邮箱地址就会收到激活邮件了

激动邮箱,设置登录密码,就可以登录gitlab了

新用户自己注册
新用户也可以直接打开gitlab首页,自己注册

django交流QQ群:779429633
Linux学习19-gitlab配置邮箱postfix(新用户激活邮件)的更多相关文章
- gitlab配置邮箱postfix(新用户激活邮件)
亲测可用 https://www.cnblogs.com/yoyoketang/p/10287345.html
- Linux学习总结(十二)—— CentOS用户管理:创建用户、修改用户、修改密码、密码有效期、禁用账户、解锁账户、删除用户、查看所有用户信息
文章首发于Linux学习总结(十二)-- CentOS用户管理,请尊重原创保留原文链接. 创建用户 useradd -g webadmin -d /home/zhangsan zhangsan pas ...
- gitlab配置邮箱服务
目录 1. SMTP服务 2. 服务端配置 3. 更新配置 4. 邮件测试 当需要进行 账号注册,创建项目,或合并分支等操作时,可通过邮件通知.邮件验证的方式实现. 1. SMTP服务 用于配置在服务 ...
- Linux学习之CentOS(二十二)--单用户模式下修改Root用户的密码
在上一篇随笔里面详细讲解了Linux系统的启动过程 (Linux学习之CentOS(二十一)--Linux系统启动详解),我们知道Linux系统的启动级别一共有6种级别,通过 /etc/inittab ...
- Linux(Ubuntu16.04)下添加新用户
某些情况下,Ubuntu 使用useradd 新用户名,在home 文件夹下面看不到新创建的用户文件夹,例如: 发现找不到,spark的文件夹,因此将采用下面方式重新建立首先删除spark用户 若想给 ...
- 2017年11月30日 C#TreeNode递归&邮箱验证&新用户窗体
TreeNode递归 递归:自己调用自己一层一层的把数据找出来 TreeNode:可以创建多个节点 private void button1_Click(object sender, EventArg ...
- gitlab 配置邮箱
摘自:http://www.tuicool.com/articles/ruyERz 这里我用的是263企业邮箱 这里我们用smtp发送邮件,要是系统自带有sendmail,我们就给他卸掉,yum re ...
- Linux 学习 (十) 网络配置
Linux网络管理 学习笔记 配置 IP 地址 ifconfig 命令临时配置 IP 地址 ifconfig eth0 192.168.0.200 netmask 255.255.255.0 #临时设 ...
- linux学习19 shell脚本基础-bash脚本编程基础及配置文件
一.shell脚本编程 1.编程语言的分类,根据运行方式 a.编译运行:源代码 --> 编译器(编译) --> 程序文件 C语言: b.解释运行:源代码 --> 运行时启动解释器,由 ...
随机推荐
- linux 环境变量设置方法总结(PATH / LD_LIBRARY_PATH)
PATH和LD_LIBRARY_PATH本质都是变量,所谓变量的意思就是由别人赋值产生的,直觉往往会让我们添加和减少这个变量本身的某些路径,实际上这是不正确的.正确的做法是我们要去修改赋予这个变量数值 ...
- [转]Mahout推荐算法API详解
Mahout推荐算法API详解 Hadoop家族系列文章,主要介绍Hadoop家族产品,常用的项目包括Hadoop, Hive, Pig, HBase, Sqoop, Mahout, Zookeepe ...
- JS跨域设置和取Cookie
在Javascript脚本里,一个cookie 实际就是一个字符串属性.当你读取cookie的值时,就得到一个字符串,里面当前WEB页使用的所有cookies的名称和值.每个cookie除了 name ...
- Javassist学习总结
今天在弄dubbo时出现了一个依赖缺少问题,就好奇研究一下,这个依赖是啥. javassist是一个字节码类库,可以用他来动态生成类,动态修改类等等 1.介绍Javassist 要想将编译时不存在的类 ...
- js 高阶函数(map/reduce/filter/sort)
1.map - 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值(注:map不会对空数组进行检测,不会改变原始数组) 语法:array.map(function(currentValu ...
- 使用<c:set>标签配置项目路径
写在前面的话: 在java项目中,路径的配置是一项最基础也是最必不可少的工作,最初我们配置路径是根据<%=request.getContextPath()%>这个java代码块进行配置的, ...
- css细节:尖角处理
在各种网站里面,我们会经常看到类似于这样的尖角:(示例:新浪微博) 它实现的方式有多种,哪种才是最简单的?哪种才是最优秀的?首先我声明一下,我还不清楚这个东西具体叫什么名字(哪位知道还望告知),暂且叫 ...
- MyBatis 从浅入深 随笔整理
MyBatis? archetypeCatalog = internal 本文档单独出现的_parameter都标识为变量名 一.三个基本要素: 核心接口和类 MyBatis 核心配置文件 SQL映射 ...
- UE4新手编程之创建空白关卡和添加碰撞体
让我们接着上次继续学习UE4引擎,今天我们学习下怎样创建空白的关卡以及添加碰撞物体. 一. 创建空白关卡 1) 点击文件 -> 新建关卡(或者按快捷键Ctrl+N). 2) 你可以选择Defau ...
- BeagleBone Black教程之BeagleBone Black设备的连接
BeagleBone Black教程之BeagleBone Black设备的连接 BeagleBone Black开发前需要准备的材料 经过上面的介绍,相信你已经对BeagleBone有了大致的了解, ...