iredmail-doc/html/allow.user.to.send.email.wi...

86 lines
4.2 KiB
HTML
Raw Normal View History

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
2015-08-19 08:11:02 -05:00
<title>Allow user to send email without smtp authentication</title>
<link rel="stylesheet" type="text/css" href="./css/markdown.css" />
</head>
<body>
<div id="navigation">
<a href="/index.html" target="_blank">
<img alt="iRedMail web site"
src="./images/logo-iredmail.png"
style="vertical-align: middle; height: 30px;"
/>&nbsp;
<span>iRedMail</span>
</a>
&nbsp;&nbsp;//&nbsp;&nbsp;<a href="./index.html">Document Index</a></div><div class="admonition note">
2016-11-11 02:56:08 -06:00
<p class="admonition-title">This tutorial is available in other languages. <a href="https://bitbucket.org/zhb/iredmail-docs/src">Help translate more</a></p>
<p><a href="./allow.user.to.send.email.without.authentication-it_IT.html">Italiano</a> / <a href="./allow.user.to.send.email.without.authentication-zh_CN.html">简体中文</a> /</p>
</div>
<h1 id="allow-user-to-send-email-without-smtp-authentication">Allow user to send email without smtp authentication</h1>
<h2 id="postfix">Postfix</h2>
2015-08-19 08:11:02 -05:00
<p>Create a plain text file: <code>/etc/postfix/accepted_unauth_senders</code>, list all
users' email addresses which are allowed to send email without smtp
authentication. We use user email address <code>user@example.com</code> for example:</p>
<pre><code>user@example.com OK
</code></pre>
<p>It's ok to use IP address instead like below:</p>
<blockquote>
<p>For more allowed sender format, please check Postfix manual page: <a href="http://www.postfix.org/access.5.html">access(5)</a>.</p>
</blockquote>
<pre><code>192.168.1.1 OK
192.168.2 OK
172.16 OK
</code></pre>
2015-08-19 08:11:02 -05:00
<p>Create hash db file with <code>postmap</code> command:</p>
<pre><code># postmap hash:/etc/postfix/accepted_unauth_senders
</code></pre>
2015-08-19 08:11:02 -05:00
<p>Modify Postfix config file <code>/etc/postfix/main.cf</code> to use this text file:</p>
<pre><code>smtpd_sender_restrictions =
check_sender_access hash:/etc/postfix/accepted_unauth_senders,
[...OTHER RESTRICTIONS HERE...]
</code></pre>
<p>Restart/reload postfix to make it work:</p>
<pre><code># /etc/init.d/postfix restart
</code></pre>
<h2 id="iredapd">iRedAPD</h2>
<p>iRedAPD plugin <code>reject_sender_login_mismatch</code> will check forged sender address.
If sender domain is hosted on your server, but no smtp auth, it will be
considered as a forged email. In this case, iRedAPD will reject this email
(with rejection message: <code>Policy rejection not logged in</code>), so we need to
bypass either sender email address. If email is sent by an internal network
device like printer, fax, we can also its IP address directly.</p>
<ul>
<li>To bypass sender email address <code>user@example.com</code>, please add setting in
<code>/opt/iredapd/settings.py</code> like below:</li>
</ul>
<pre><code>ALLOWED_FORGED_SENDERS = ['user@example.com']
</code></pre>
<ul>
<li>To bypass sender IP address or network, for example, <code>192.168.0.1</code> and
<code>192.168.1.0/24', please add setting in</code>/opt/iredapd/settings.py` like below:</li>
</ul>
<pre><code>MYNETWORKS = ['192.168.0.1', '192.168.1.0/24']
</code></pre>
<p>Restarting iRedAPD service is required if you updated <code>/opt/iredapd/settings.py</code>.</p><div class="footer">
<p style="text-align: center; color: grey;">All documents are available in <a href="https://bitbucket.org/zhb/iredmail-docs/src">BitBucket repository</a>, and published under <a href="http://creativecommons.org/licenses/by-nd/3.0/us/" target="_blank">Creative Commons</a> license. You can <a href="https://bitbucket.org/zhb/iredmail-docs/get/tip.tar.bz2">download the latest version</a> for offline reading. If you found something wrong, please do <a href="http://www.iredmail.org/contact.html">contact us</a> to fix it.</p>
</div>
<script type="text/javascript">
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-3293801-21', 'auto');
ga('send', 'pageview');
2014-10-13 19:28:43 -05:00
</script>
</body></html>