首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Dovecot身份验证失败

Dovecot身份验证失败
EN

Server Fault用户
提问于 2019-04-03 19:31:54
回答 1查看 4.2K关注 0票数 -1

我已经在DigitalOcean上安装了后缀/dovecot邮件服务。我正在使用由letsencrypt提供的证书。syslog中没有与证书问题相关的错误。

我使用mysql来存储虚拟用户。

连接字符串是:

connect = host=127.0.0.1 dbname=servermail user=usermail password=REDACTED (使用正确的密码,测试正常,启动时没有报告连接错误)

当我试图从客户端连接时,我在日志中看到如下内容:

4月04 10:15:43 imap-登录: Info: Disconnected (未成功,2秒内1次尝试):user=,method=PLAIN,rip=42.115.84.125,lip=206.189.150.255,TLS: Disconnected,session=

收到的邮件正在由Postfix成功地传送。

多维柯-n输出

代码语言:javascript
运行
AI代码解释
复制
# 2.2.33.2 (d6601f4ec): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.4.21 (92477967)
# OS: Linux 4.15.0-47-generic x86_64 Ubuntu 18.04.2 LTS ext4
auth_mechanisms = plain login
log_path = /var/log/dovecot.log
mail_location = maildir:/var/mail/vhosts/%d/%n/
mail_privileged_group = mail
namespace inbox {
  inbox = yes
  location = 
  mailbox Drafts {
    special_use = \Drafts
  }
  mailbox Junk {
    special_use = \Junk
  }
  mailbox Sent {
    special_use = \Sent
  }
  mailbox "Sent Messages" {
    special_use = \Sent
  }
  mailbox Trash {
    special_use = \Trash
  }
  prefix = 
}
passdb {
  args = /etc/dovecot/deny-users
  deny = yes
  driver = passwd-file
}
passdb {
  args = /etc/dovecot/dovecot-sql.conf.ext
  driver = sql
}
postmaster_address = dev@vietfeir.com
protocols = imap lmtp
service auth-worker {
  user = vmail
}
service auth {
  unix_listener /var/spool/postfix/private/auth {
    group = postfix
    mode = 0666
    user = postfix
  }
  unix_listener auth-userdb {
    mode = 0600
    user = vmail
  }
  user = dovecot
}
service imap-login {
  inet_listener imap {
    port = 0
  }
  inet_listener imaps {
    port = 993
    ssl = yes
  }
}
service lmtp {
  unix_listener /var/spool/postfix/private/dovecot-lmtp {
    group = postfix
    mode = 0600
    user = postfix
  }
}
service pop3-login {
  inet_listener pop3 {
    port = 0
  }
  inet_listener pop3s {
    port = 995
    ssl = yes
  }
}
ssl = required
ssl_cert = 

请给我一些疑难解答的建议。

下面是用于在数据库中创建用户的SQL查询:

代码语言:javascript
运行
AI代码解释
复制
    INSERT INTO `servermail`.`virtual_users`
  (`domain_id`, `password` , `email`)
VALUES
  ('1', ENCRYPT('*REDACTED*!', CONCAT('$6我的客户端(Bluemail)可以选择普通的或填充的MD5密码。前景似乎只允许简单,所以我认为这可能是问题所在,因为我选择了一个基于SHA的方案。(SHA512 512-地窖), SUBSTRING(SHA(RAND()), -16))), 'dennis@vietfeir.com')

我的客户端(Bluemail)可以选择普通的或填充的MD5密码。前景似乎只允许简单,所以我认为这可能是问题所在,因为我选择了一个基于SHA的方案。(SHA512 512-地窖)

EN

回答 1

Server Fault用户

发布于 2019-04-03 21:11:28

您的身份验证后端看起来不像是已设置为处理数据库.passdb应该以sql作为驱动程序,并指向包含验证存储在数据库中的密码所需的连接字符串和查询的文件。

我建议看一看https://wiki.dovecot.org/AuthDatabase/SQL的细节和https://www.linode.com/docs/email/postfix/email-with-postfix-dovecot-and-mysql/#dovecot (7项以上)的演练。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/961415

复制
相关文章
2010数据库SQL Server 盘点
让我们一起来盘点一下2010数据库SQL Server 发布了那些给力的新品。 1. 微软发布SQL Server 2008 R2 微软公司于2010年4月21日宣布推出Microsoft SQL
张善友
2018/01/31
1.3K0
2010数据库SQL Server 盘点
使用vs2010生成SQL Server 随机数据
前几天做测试数据,偶然发现vs2010中有一个生成随机数据的功能,记录下来,方便以后使用,确实非常的好用灵活快捷。 为了简单扼要的说明,下面我用一个实例来说明如何快捷使用: 在VS2010创建数据库项
用户1217611
2018/01/30
1.1K0
使用vs2010生成SQL Server 随机数据
使用vs2010生成SQL Server 随机数据
前几天做测试数据,偶然发现vs2010中有一个生成随机数据的功能,记录下来,方便以后使用,确实非常的好用灵活快捷。
全栈程序员站长
2021/11/25
5040
使用vs2010生成SQL Server 随机数据
SQL server 数据库基本插入、删除命令
一、实验素材:附加学生信息表(student) 二、实验要求: 1、 查询student表中所有学生的信息 select * from student 2、 查询student表中“姓名”“所在班
L宝宝聊IT
2018/06/20
1.1K0
SQL Server 数据库调整表中列的顺序操作
SQL Server 数据库中表一旦创建,我们不建议擅自调整列的顺序,特别是对应的应用系统已经上线,因为部分开发人员,不一定在代码中指明了列名。表是否可以调整列的顺序,其实可以自主设置,我们建议在安装后设置为禁止。
星哥玩云
2022/08/17
4.8K0
SQL Server 数据库调整表中列的顺序操作
sql server 数据库分区分表
作为演示,本文使用的数据库 sql server 2017 管理工具 sql server management studio 18,,创建数据库mytest,添加Test表,Test表列为 id和name,具体可以自行创建
全栈程序员站长
2022/08/22
9300
sql server 数据库分区分表
SQL Server数据库分区分表
当一个数据表的数据量达到千万级别以后,每次查询都需要消耗大量的时间,所以当表数据量达到一定量级后我们需要对数据表水平切割。水平分区分表就是把逻辑上的一个表,在物理上按照你指定的规则分放到不同的文件里,把一个大的数据文件拆分为多个小文件,还可以把这些小文件放在不同的磁盘下。这样把一个大的文件拆分成多个小文件,便于我们对数据的管理。
全栈程序员站长
2022/09/06
1.4K0
SQL Server数据库分区分表
SQL Server数据库和表的基本管理
我们先来了解SQL Server数据库中的文件类型: 主数据文件:包含数据库的启动信息,指向数据库中的其他文件,每个数据库都有一个主数据文件(有且只有一个),推荐文件扩展名是.mdf; 辅助数据文件:除主数据文件以外的所有数据文件都是次要数据文件,次要数据文件主要是为了扩展数据的硬盘空间(可以有也可以没有),推荐文件扩展名是.ndf; 事务日志文件:包含恢复数据库所有事务的信息,每个数据库中至少有一个事务日志文件(有且必须有一个,可以多个),推荐文件扩展名是.idf; 文件流数据文件:可以使基于SQL的应用程序能在文件系统中存储非结构化的数据,如:文档、图片、音频、视频等。 数据文件由若干个64KB大小的区组成,每个区由8个8KB的连续页组成; 事务日志文件的存储不是以页为单位的,而是由一条条的大小不等的日志记录为单位。 创建数据库之前,需要考虑如下事项: 创建数据库的权限默认授予sysadmin和dbcreator服务器角色成员,服务器角色用于向用户授予服务器范围内的安全特权; 创建数据库的用户将成为该数据库的所有者; 考虑数据文件及日志文件的放置位置; 合理估计数据库的大小合并增长值。 接下来我们简单来一下数据的基本操作:
星哥玩云
2022/08/18
1.3K0
SQL Server数据库和表的基本管理
管理sql server表数据_sql server如何使用
表是SQL Server中最基本的数据库对象,用于存储数据的一种逻辑结构,由行和列组成, 它又称为二维表。 例如,在学生成绩管理系统中,表1–是一个学生表(student)。
全栈程序员站长
2022/09/23
2.1K0
管理sql server表数据_sql server如何使用
MySQL 批量插入表数据 sql
INSERT INTO `swork_info`.`quality_data_app_base_value` (`gmt_create`, `gmt_modified`, `app_id`, `base_value`, `type`) select now(), now(), app_id, 100, '0' from application;
一个会写诗的程序员
2018/08/17
4.7K0
将Excel文件数据库导入SQL Server
将Excel文件数据库导入SQL Server的三种方案//方案一: 通过OleDB方式获取Excel文件的数据,然后通过DataSet中转到SQL Server
Java架构师必看
2021/03/22
2.4K0
sql server根据表中数据生成insert语句
修正了表中的字段如果是SQL中的关键字(如Order)时,生成的脚本执行会出错的bug
跟着阿笨一起玩NET
2018/09/18
1.7K0
SQL将本地图片文件插入到数据库
EXEC sp_configure 'show advanced options', 1 GO RECONFIGURE GO EXEC sp_configure 'xp_cmdshell', 1 GO RECONFIGURE GO --生成格式化文件 在此基础上再进行编辑,自己创建一个格式化文件有点问题 --10.0 --1 --1 SQLBINARY 0 0 "" 1 FileData "" --CREATE TABLE [dbo].[tblFile]( --[FileID] [bigint] I
跟着阿笨一起玩NET
2018/09/19
3.2K0
SQL Server 表中相关操作
SQL Server 表中记录更新操作 一、 实验目的
跋扈洋
2021/01/28
1.2K0
SQL Server 数据表复制
有数据表 A, 希望将他的内容导出到另一张表 B,此时 B 并未创建,希望在导出的同时创建表 B。
tonglei0429
2019/07/22
1.9K0
Sql Server远程查询db 表中的数据,以本地
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/117684.html原文链接:https://javaforall.cn
全栈程序员站长
2022/01/04
3.2K0
SQL Server数据库进阶之表分区实战演练
1.1、需求背景 假设,你有一个销售记录表,记录着每个销售情况,那么你就可以把这个销售记录表按时间分成几个小表,例如说5个小表吧。2009年以前的记录使用一个表,2010年的记录使用一个表,2011年的记录使用一个表,2012年的记录使用一个表,2012年以后的记录使用一个表。那么,你想查询哪个年份的记录,就可以去相对应的表里查询,由于每个表中的记录数少了,查询起来时间自然也会减少。但将一个大表分成几个小表的处理方式,会给程序员增加编程上的难度。以添加记录为例,以上5个表是独立的5个表,在不同时间添加记录的时候,程序员要使用不同的SQL语句,例如在2011年添加记录时,程序员要将记录添加到2011年那个表里;在2012年添加记录时,程序员要将记录添加到2012年的那个表里。这样,程序员的工作量会增加,出错的可能性也会增加。 使用分区表就可以很好的解决以上问题。 1.2、解决方案 数据库结构和索引的是否合理在很大程度上影响了数据库的性能,但是随着数据库信息负载的增大,对数据库的性能也发生了很大的影响。可能我们的数据库在一开始有着很高的性能,但是随着数据存储量的急速增长—例如订单数据—数据的性能也受到了极大的影响,一个很明显的结果就是查询的反应会非常慢。在这个时候,除了你可以优化索引及查询外,你还可以做什么?建立分区表(Table Partition)可以在某些场合下提高数据库的性能,在SQL Server 2005中也可以通过SQL语句来创建表分区,但在SQL Server 2008中提供了向导形式来创建分区表。 1.3、本次分享课程适合人群如下 1)、有一定的.NET 开发基础。 2)、有一定的SQL SERVER基础知识。 如果您同样对本次分享《SQL Server数据库进阶之表分区实战演练》课程感兴趣的话,那么请跟着阿笨一起学习吧。废话不多说,直接上干货,我们不生产干货,我们只是干货的搬运工。
跟着阿笨一起玩NET
2020/02/17
8090
SQL Server学习之路(一):建立数据库、建立表
0.目录 1.前言 2.建立数据库 2.1 通过SSMS建立数据库 2.2 通过SQL语句建立数据库 3.建立表 3.1 通过SSMS建立表 3.2 通过SQL语句建立表 1.前言 配置是win10+SQL Server 2012,使用的GUI管理工具是SQL Server 2012自带的SQL Server Management Studio(以下简称SSMS)。本系列主要学习SQL Server基础,目的主要是为了使用Python连接、使用数据库。另外在这里贴上SQL Server 2012下载地址。
全栈程序员站长
2022/09/09
3.3K0
SQL Server学习之路(一):建立数据库、建立表
SQL server数据库的部署
一、实验目标 1、安装一台SQL SERVER(第一台),然后克隆再一台(第二台),一共两台,修改两台的主机和IP地址。 2、使用注册的方式,用第二台远程连接第一台 二、实验步骤 1)先打开一台Wi
L宝宝聊IT
2018/06/20
1.9K0
Sql Server 建表Sql
Sql Server建表太麻烦了,如果想去修改主键的自增是不可能的。不如我们直接一开始确定SQL,直接修改SQL,这在国外某个开源项目是比较推荐的方式(每修改一条SQL,再去修改SQL文件,然后执行SQL)。
收心
2022/10/28
2.9K0

相似问题

VS 2010中的SQL Server数据库连接

10

VS 2010 Server Explorer数据库未显示表

40

更新/插入SQL Server数据库表

31

将数据插入到表SQL server中

21

sql server将数据动态插入表中。

30
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档