试图获得我的邮件服务器(Ubuntu 10.04)的身份validation运行,但有麻烦。 我有一个服务器后缀为SMTP设置,IMAP服务器与快递设置。 我的后缀authentication是使用赛勒斯(我还没有尝试过鸽舍)saslauth。 用户名和密码存储在MySql数据库中。 使用imap-ssllogin远程客户端(thunderbird),我可以阅读我的邮件。 我无法得到SMTP方面的工作,并将问题集中在saslauth上。
用
testsaslauthd -u 'username' -p 'passowrd' -s smtp
回报
connect() : Permission denied
数据库中的密码是encryption的,我想这个testsaslauthd会带一个纯文本密码并encryption它。
寻找有人来帮助我通过这个工作。 林新来的邮件服务器,并没有得到一个完整的工作。 谢谢。 问我应该查看哪些日志文件/ post,运行哪些testing,检查权限。
编辑: (3/26/2012)更多的信息,我不能得到任何邮件客户端工作,他们给错误
The message could not be sent because connecting to SMTP server <mydomain.com> failed. The server may be unavailable or is refusing SMTP connections
我有各自的端口在iptables上打开,但我猜测,这是一个内部的问题,因为我在上面跑的testing。 我也运行telnet到mail.mydomain.com 25并运行ehlo localhost并得到这个回报
250-mail.domain.com 250-PIPELINING 250-SIZE 10240000 250-VRFY 250-ETRN 250-STARTTLS 250-AUTH PLAIN LOGIN 250-AUTH=PLAIN LOGIN 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 DSN
编辑: (2012年3月28日下午2时45分)
~$ postconf -n alias_database = hash:/etc/aliases alias_maps = hash:/etc/aliases append_dot_mydomain = no biff = no broken_sasl_auth_clients = yes config_directory = /etc/postfix inet_interfaces = all inet_protocols = all mailbox_size_limit = 0 mime_header_checks = regexp:/etc/postfix/mime_header_checks mydestination = mail.mydomain.co, localhost, localhost.localdomain myhostname = mail.mydomain.co mynetworks = 127.0.0.0/8 myorigin = /etc/mailname proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $virtual_mailbox_limit_maps readme_directory = no recipient_delimiter = + relayhost = smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu) smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination smtpd_sasl_auth_enable = yes smtpd_sasl_authenticated_header = yes smtpd_tls_cert_file = /etc/ssl/certs/mailcert.pem smtpd_tls_key_file = $smtpd_tls_cert_file smtpd_tls_session_cache_timeout = 3600s smtpd_use_tls = yes virtual_alias_domains = virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-forwards.cf, mysql:/etc/postfix/mysql-email.cf virtual_gid_maps = static:5000 virtual_mailbox_base = /home/vmail virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql-domains.cf virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql-mailboxes.cf virtual_uid_maps = static:5000
编辑:解决(3/29/2012)感谢@AveryPane和@ malloc4k指向我在正确的方向。 我必须做的一些事情,确保我的MXlogging是在正确的顺序。 我使用工具intodns.com和http://www.mxtoolbox.com检查我的服务器是否正在接受连接。 然后使用尾巴-f我看了我的日志中的任何错误,很高兴看到实际上有东西被logging,一旦我得到我的DNSlogging理顺,并调整了一些configuration文件。
有两件事,我不知道其中之一是一些互联网服务提供商阻止端口25,这可能是在我的情况为什么thunderbird没有看到我的服务器在端口25。其次是在文件/etc/postfix/master.cf有关于允许postfix监听的端口的设置。 默认的端口25在那里
smtp inet n - - - - smtpd
基本上说,嗨后缀,我运行在端口25.如果你想在另一个邮件服务器端口上运行postfix,587,那么在master.cf
587 inet n - - - - smtpd
运行重新启动/etc/init.d/postfix restart ,你应该设置。 这是我的解决scheme。
寻找有人来帮助我通过这个工作。 林新来的邮件服务器,并没有得到一个完整的工作。
欢迎来到我的朋友的电子邮件地狱。 你在一个很好的公司。 首先,如果你真的想要运行电子邮件服务器,那么你需要学习。 电子邮件就像大多数公用事业服务一样 – 被认为是理所当然的,但没有人想要考虑使其工作的努力。 我推荐使用O'Reilly出版的书( Postfix:The Definitive Guide) ,这是获取Postfix运行信息的极好来源。
我也花时间来阅读一些基本的“游戏规则”,因为很多全球电子邮件系统基本上是一堆绅士的协议,不要跺脚,每个人的交付。 当然,你可以通过RFC 2142和其他许多文件,但是我认为我们可以把它简化为一些简单的规则:
还有很多,但是这些基本的东西应该让你指出正确的方向。
我无法获得任何邮件客户端的工作,
关于您的问题中的“客户无法发送”部分,问题与您接受电子邮件的域有关。 具体来说,你的post提到:
mydestination = myhostname = my.domain.com
这两个都是不正确的。 在这里设置mydestination参数, 在这里为myhostname参数。 这两个参数基本上告诉后缀什么它将接受交付,根据什么是在收件人:电子邮件地址的右半部分。 让他们设置为无, my.domain.com意味着它只会接受my.domain.com交付,但它仍然不会交付,因为我的mydestination是空白的。 我可能是错的,但我不认为这就是你想要的。
问题可能出现在Cyrus设置或PAM设置中(可能Cyrus SASL在您的设置中使用PAM与MySQL进行通信)。
我build议你两件事情:
请仔细阅读Postfix文档中的适当部分: SASL_README
检查你的/var/log/auth.log