Roundcube是Linux中最常用的Webmail用户代理之一,为最终用户提供了一个现代化的Web界面,可与所有邮件服务进行交互,以便阅读,撰写和发送电子邮件。 Roundcube支持各种邮件协议,包括安全的邮件协议,如IMAPS,POP3S或提交。
在本主题中,我们将讨论如何在iRedMail中使用IMAPS和提交安全端口配置Roundcube,以检索和发送Samba4 AD帐户的电子邮件,如何从浏览器访问iRedMail Roundcube Web界面,并添加网址别名,如何启用Samba4 AD集成全局LDAP通讯簿以及如何禁用某些不需要的iRedMail服务。
要求
第1步:在Samba4 AD DC中声明域帐户的电子邮件地址
1.为了发送和接收Samba4 AD DC域帐户的邮件,您需要编辑每个用户帐户,并通过从安装了RSAT工具的Windows机器打开ADUC工具并将其加入Samba4 ,从而明确地设置邮件归档到正确的电子邮件地址AD如下图所示。
添加电子邮件帐户加入Samba4 AD DC
2.同样,要使用邮件列表,您需要在ADUC中创建组,为每个组添加相应的电子邮件地址,并将适当的用户帐户分配给该组的成员。
将此安装程序创建为邮件列表,Samba4 AD组的所有成员邮箱将接收发往AD组电子邮件地址的邮件。 使用以下屏幕截图作为向Samba4组帐户申报电子邮件的指南,并添加域用户作为组的成员。
确保添加到组中的所有帐户成员都已声明其电子邮件地址。
为Samba4 AD DC创建组管理
将用户添加到组
在此示例中,发送给admins@youcl.lan的所有邮件地址将被该组的每个成员邮箱接收,为“ 域管理员 ”组声明的电子邮件地址。
3.您可以用来声明Samba4AD帐户的电子邮件地址的另一种方法是直接从AD DC控制台中创建一个用户或一组samba-tool命令行,并指定电子邮件地址与--mail-address
标志。
使用以下命令语法之一创建指定电子邮件地址的用户:
# samba-tool user add --mail-address=user_email@domain.tld --surname=your_surname --given-name=your_given_name your_ad_user
创建一个指定电子邮件地址的组:
# samba-tool group add --mail-address=group_email@domain.tld your_ad_group
将成员添加到组中:
# samba-tool group addmembers your_group user1,user2,userX
要列出用户或组的所有可用的samba-tool命令字段,请使用以下语法:
# samba-tool user add -h # samba-tool group add -h
第3步:安全Roundcube Webmail
在修改Roundcube配置文件之前,首先,使用通过egrep过滤器管理的netstat命令列出Dovecot和Postfix收听的套接字,并确保正确安全的端口(适用于IMAPS的993和提交的587)都处于活动状态并启用。
# netstat -tulpn| egrep 'dovecot|master'
5.要在安全的IMAP和SMTP端口上执行Roundcube和iRedMail服务之间的邮件接收和传输,请打开位于/var/www/roundcubemail/config/config.inc.php中的Roundcube配置文件,并确保更改以下行在这种情况下,本地主机,如下面摘录所示:
// For IMAPS $config['default_host'] = 'ssl://127.0.0.1'; $config['default_port'] = 993; $config['imap_auth_type'] = 'LOGIN'; // For SMTP $config['smtp_server'] = 'tls://127.0.0.1'; $config['smtp_port'] = 587; $config['smtp_user'] = '%u'; $config['smtp_pass'] = '%p'; $config['smtp_auth_type'] = 'LOGIN';
如果Roudcube安装在远程主机上而不是提供邮件服务(IMAP,POP3或SMTP守护程序)的情况下,强烈建议使用此设置。
6.接下来,不要关闭配置文件,搜索并进行以下小的更改,以便仅通过HTTPS协议访问Roundcube,以隐藏版本号,并自动附加登录网络的帐户的域名接口。
$config['force_https'] = true; $config['useragent'] = 'Your Webmail'; // Hide version number $config['username_domain'] = 'domain.tld'
另外,禁用以下插件:通过在以$ config ['plugins']开头的行前添加注释(//)
来管理和密码 。
一旦登录并验证到域,用户将从连接到Samba4 AD DC的Windows或Linux机器更改其密码。 系统管理员将全局管理域帐户的所有筛选规则。
// $config['plugins'] = array('managesieve', 'password');
8.最后,保存并关闭配置文件,打开浏览器访问Roundcube Webmail,并通过HTTPS协议导航到iRedMail IP地址或FQDN /邮件位置。
第一次访问Roundcube时,由于Web服务器使用的自签名证书,浏览器上应该会显示警报。 接受证书并使用Samba AD帐户凭据登录。
https://iredmail-FQDN/mail
Roundcube Webmail登录
第3步:在Roundcube中启用Samba AD Contacts
9.要将Samba AD Global LDAP通讯录配置为出现Roundcube Contacts,请再次打开Roundcube配置文件进行编辑,并进行以下更改:
导航到文件的底部,并标识以“ #全局LDAP通讯簿与AD ”开头的部分,删除其所有内容,直到文件结尾,并将其替换为以下代码块:
# Global LDAP Address Book with AD. # $config['ldap_public']["global_ldap_abook"] = array( 'name' => 'youcl.lan', 'hosts' => array("youcl.lan"), // 389, 'use_tls' => false, // '3', 'network_timeout' => 10, 'user_specific' => false, 'base_dn' => "dc=youcl,dc=lan", // Set base dn in AD 'bind_dn' => "vmail@youcl.lan", // "linux", // false, // array('mail', 'cn', 'sAMAccountName', 'displayname', 'sn', 'givenName'), // mapping of contact fields to directory attributes 'fieldmap' => array( 'name' => 'cn', 'surname' => 'sn', 'firstname' => 'givenName', 'title' => 'title', 'email' => 'mail:*', 'phone:work' => 'telephoneNumber', 'phone:mobile' => 'mobile', 'department' => 'departmentNumber', 'notes' => 'description', ), 'sort' => 'cn', 'scope' => 'sub', 'filter' => '(&(mail=*)(|(&(objectClass=user)(!(objectClass=computer)))(objectClass=group)))', 'fuzzy_search' => true, 'vlv' => false, // Enable Virtual List View to more // efficiently fetch paginated data // (if server supports it) 'sizelimit' => '0', // Enables you to limit the count of // entries fetched. Setting this to 0 // means no limit. 'timelimit' => '0', // Sets the number of seconds how long // is spend on the search. Setting this // to 0 means no limit. 'referrals' => false, // Sets the LDAP_OPT_REFERRALS option. // Mostly used in multi-domain Active // Directory setups );
在此代码块上替换名称 , 主机 , base_dn , bind_dn和bind_pass值。
10.完成所有必要的更改后,保存并关闭文件,登录到Roundcube webmail界面,然后转到通讯录菜单。
所有域名帐户(用户和组)与其指定的电子邮件地址的联系人列表都将被显示在全局通讯簿上。
Roundcube用户联系人列表
第4步:为Roundcube Webmail界面添加别名
11.要访问Roundcube,网址为https://webmail.domain.tld,而不是iRedMail默认提供的旧地址,您需要进行以下更改。
从安装了RSAT工具的加入的Windows机器中,打开DNS管理器,并为iRedMail FQDN添加一个名为webmail的新CNAME记录,如下图所示。
DNS Webmail属性
12.接下来,在iRedMail机器上,打开位于/etc/httpd/conf.d/ssl.conf中的Apache Web服务器SSL配置文件,并更改DocumentRoot指令以指向/ var / www / roundcubemail / system路径。
文件/etc/httpd/conf.d/ssl.conf摘录:
DocumentRoot “/var/www/roundcubemail/”
重新启动Apache守护程序以应用更改。
# systemctl restart httpd
现在,将浏览器指向以下地址,并显示Roundcube界面。 接受自签名证书错误继续登录页面。 从此示例中使用您自己的域名替换domain.tld。
https://webmail.domain.tld
第5步:禁用iRedMail未使用的服务
14.由于iRedMail守护进程配置为查询Samba4 AD DC LDAP服务器的帐户信息和其他资源,因此可以通过发出以下命令来安全地停止和禁用iRedMail机器上的某些本地服务,例如LDAP数据库服务器和iredpad服务。
# systemctl stop slapd iredpad # systemctl disable slapd iredpad
另外,如下图所示,通过在crontab文件中的每行之前添加注释(#) ,禁用iRedMail执行的某些计划任务,例如LDAP数据库备份和iRedPad跟踪记录。
# crontab -e
禁用iRedMail任务
第6步:在Postfix中使用邮件别名
16.要将所有本地生成的邮件(发往postmaster并随后重定向到root帐户)重定向到特定的Samba4 AD帐户,请打开位于/ etc / postfix / aliases中的Postfix别名配置文件,并修改root行,如下所示:
root: your_AD_email_account@domain.tld
17.应用别名配置文件,以便Postfix可以通过执行newaliases命令以其自己的格式读取它,并测试邮件是否通过发出以下命令发送到正确的域电子邮件帐户。
# echo “Test mail” | mail -s “This is root’s email” root
18.邮件发送完毕后,请使用您为邮件重定向设置的域帐户登录Roundcube webmail,并验证先前发送的邮件应该在您的帐户收件箱中收到。
验证用户邮件
That'all! 现在,您有一个完整的邮件服务器与Samba4 Active Directory集成。 域帐户可以为其内部域或其他外部域发送和接收邮件。
本教程中使用的配置可以成功应用于将iRedMail服务器集成到Windows Server 2012 R2或2016 Active Directory。