ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

在dovecot / postfix上从php脚本创建一个新的电子邮件帐户

2019-08-25 07:40:16  阅读:391  来源: 互联网

标签:postfix-mta php email imap dovecot


我想创建一个页面,允许人们在dovecot / postfix服务器上创建新的电子邮件帐户(通过imap).

我见过php函数imap_open和imap_createmailbox,但这些函数不创建帐户,它只创建一个新目录:/
 (并且您需要现有帐户的登录名/密码才能使用imap_open …)

所以我想知道是否可以这样做:).

编辑

我添加这个是因为我之前的消息不够具体.
我需要一个首页,允许用户注册一个新邮箱,并检查他们想要的邮件别名是否是免费的.这就是为什么大多数基于网络的管理员对我不好的原因.我不希望最终用户看到管理面板.

解决方法:

默认情况下,postfix& dovecot从系统中获取用户.这是UNIX / Linux机器上的/ etc / passwd.

PHP脚本管理这个是可能的,但不是太漂亮.

>您可以使用posix_getpwnam检查用户名是否存在,并获取有关此用户的信息.
>最好在Linux上使用useradd(8)来添加用户.您将需要使用exec()来启动此shell实用程序.示例用法可能是:

$pw = crypt($_POST['password'], '$6$1234567890123456'); # This should be 16 characters of random salt
exec(sprintf('useradd --groups mailuser --no-user-group --shell nologin --password %s', escapeshellarg($pw));

不过,我不会真的推荐这个.

我建议的是将用户存储在SQL数据库中,例如PostgreSQL,MySQL或SQLite.这很容易设置,在PHP方面,您所要做的就是在数据库上添加/删除/更新行.这可能是最好的解决方案,因为它不是太复杂,但仍然相当灵活.
postfix页面上有一些关于这个主题的“HOWTO”,以及so does dovecot.

Aa是最终选项,有LDAP. LDAP更复杂,但可以说是“更好”和更好更灵活. PHP有一个LDAP接口.

标签:postfix-mta,php,email,imap,dovecot
来源: https://codeday.me/bug/20190825/1716853.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有