<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>exim &#8212; my-mails.ru</title>
	<atom:link href="https://my-mails.ru/category/exim/feed/" rel="self" type="application/rss+xml" />
	<link>https://my-mails.ru</link>
	<description>система рассылок персональных коммерческих предложений B2B</description>
	<lastBuildDate>Wed, 28 Jul 2021 12:29:55 +0000</lastBuildDate>
	<language>ru-RU</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.9.10</generator>

<image>
	<url>https://my-mails.ru/wp-content/uploads/2017/11/cropped-logo-32x32.png</url>
	<title>exim &#8212; my-mails.ru</title>
	<link>https://my-mails.ru</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Проблема с exim R=dnslookup defer (-1): host lookup did not complete</title>
		<link>https://my-mails.ru/problema-s-exim-rdnslookup-defer-1-host-lookup-did-not-complete/</link>
		
		<dc:creator><![CDATA[my-mails.ru]]></dc:creator>
		<pubDate>Thu, 20 May 2021 11:37:55 +0000</pubDate>
				<category><![CDATA[DNS]]></category>
		<category><![CDATA[exim]]></category>
		<category><![CDATA[Проблемы и ошибки]]></category>
		<guid isPermaLink="false">https://my-mails.ru/?p=4361</guid>

					<description><![CDATA[Если при отправке писем в логах exim мы видим такую ошибку: R=dnslookup defer (-1): host lookup did not complete Для]]></description>
										<content:encoded><![CDATA[<p>Если при отправке писем в логах exim мы видим такую ошибку:</p>
<pre class="lang:default decode:true ">R=dnslookup defer (-1): host lookup did not complete</pre>
<p>Для диагностики разрешения DNS используйте команду</p>
<pre class="lang:default decode:true ">nslookup -type=MX mail.ru</pre>
<p>Вы должны будите получить ответ на записи MX.</p>
<p>Server: 77.88.8.8<br />
Address: 77.88.8.8#53</p>
<p>Non-authoritative answer:<br />
mail.ru mail exchanger = 10 mxs.mail.ru.</p>
<p>Authoritative answers can be found from:</p>
<p>В противном случае Ваш сервер имен не работает должным образом.</p>
<p>Приведите свой файл etc/<strong>resolv.conf </strong>к следующему виду:</p>
<pre class="lang:default decode:true ">option timeout:1
option rotate
domain domain.ru
nameserver 77.88.8.8
nameserver 8.8.8.8
nameserver 8.8.4.4
search domain.ru</pre>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Для диагностики маршрутизации в exim до конечного получателя используйте команду</p>
<pre class="lang:default decode:true">exim -bt -d-resolver user@mail.ru</pre>
<p>&nbsp;</p>
<div class="rcl-rating-box rating-type-post box-default"><div class="rating-wrapper"><span class="vote-heart"><i class="rcli fa-heartbeat" aria-hidden="true"></i></span><span class="rating-value"><span class="rating-null">0</span></span></div></div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Проблема после обновления до exim-4.94-1.el7 на CentOS 7</title>
		<link>https://my-mails.ru/problema-posle-obnovleniya-do-exim-4-94-1-el7-na-centos-7/</link>
		
		<dc:creator><![CDATA[my-mails.ru]]></dc:creator>
		<pubDate>Thu, 20 May 2021 11:28:02 +0000</pubDate>
				<category><![CDATA[exim]]></category>
		<guid isPermaLink="false">https://my-mails.ru/?p=4357</guid>

					<description><![CDATA[При установки vesta cp или обновления exim до 4.94-1.el7 при отправке писем получаем следующую ошибку в логах: sender verify defer]]></description>
										<content:encoded><![CDATA[<p>При установки vesta cp или обновления exim до 4.94-1.el7 при отправке писем получаем следующую ошибку в логах:</p>
<p><span style="color: #800000;">sender verify defer for &lt;mail@mydomain.ru&gt;: failed to expand &#171;${extract{1}{:}{${lookup{$local_part@$domain}lsearch{/etc/exim/domains/$domain/aliases}}}}&#187;: NULL</span></p>
<p><span style="color: #800000;">Tainted filename for search: &#8216;/etc/exim/domains/mydomain.ru/aliases&#8217;</span></p>
<p><span style="color: #800000;">A=dovecot_login:mail@mydomain.ru temporarily rejected RCPT &lt;ads@you-domain.ru&gt;: Could not complete sender verify</span></p>
<p>Для решения этой проблемы можете заменить свой конфигурационный <strong>файл exim</strong> /etc/exim/<strong>exim.conf</strong> на этот:</p>
<pre class="lang:default decode:true ">######################################################################
#                                                                    #
#          Exim configuration file for Vesta Control Panel           #
#                                                                    #
######################################################################

#SPAMASSASSIN = yes
#SPAM_SCORE = 50
#CLAMD = yes

add_environment = &lt;; PATH=/bin:/usr/bin
keep_environment =

disable_ipv6=true
domainlist local_domains = dsearch;/etc/exim/domains/
domainlist relay_to_domains = dsearch;/etc/exim/domains/
hostlist relay_from_hosts = 127.0.0.1
hostlist whitelist = net-iplsearch;/etc/exim/white-blocks.conf
hostlist spammers = net-iplsearch;/etc/exim/spam-blocks.conf
no_local_from_check
untrusted_set_sender = *
acl_smtp_connect = acl_check_spammers
acl_smtp_mail = acl_check_mail
acl_smtp_rcpt = acl_check_rcpt
acl_smtp_data = acl_check_data
acl_smtp_mime = acl_check_mime
.ifdef SPAMASSASSIN
spamd_address = 127.0.0.1 783
.endif

.ifdef CLAMD
av_scanner = clamd: /var/run/clamav/clamd.sock
.endif

tls_advertise_hosts = *
tls_certificate = ${if and \
{ \
{gt{$tls_in_sni}{}} \
{!match{$tls_in_sni}{/}} \
} \
{${if exists {/usr/local/vesta/ssl/exim.cert.$tls_in_sni} \
{/usr/local/vesta/ssl/exim.cert.$tls_in_sni} \
{/usr/local/vesta/ssl/certificate.crt} \
}} \
{/usr/local/vesta/ssl/certificate.crt} \
}

tls_privatekey = ${if and \
{ \
{gt{$tls_in_sni}{}} \
{!match{$tls_in_sni}{/}} \
} \
{${if exists {/usr/local/vesta/ssl/exim.key.$tls_in_sni} \
{/usr/local/vesta/ssl/exim.key.$tls_in_sni} \
{/usr/local/vesta/ssl/certificate.key} \
}} \
{/usr/local/vesta/ssl/certificate.key} \
}



openssl_options = +no_sslv2 +no_sslv3
tls_require_ciphers = ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:!DSS

daemon_smtp_ports = 25 : 465 : 587 : 2525
tls_on_connect_ports = 465
never_users = root
host_lookup = *
rfc1413_hosts = *
rfc1413_query_timeout = 1s
ignore_bounce_errors_after = 2d
timeout_frozen_after = 7d

DKIM_DOMAIN = ${lc:${domain:$h_from:}}
DKIM_FILE = /etc/exim/domains/${lookup{$domain}dsearch{/etc/exim/domains/}}/dkim.pem
DKIM_PRIVATE_KEY = ${if exists{DKIM_FILE}{DKIM_FILE}{0}}



######################################################################
#                       ACL CONFIGURATION                            #
#         Specifies access control lists for incoming SMTP mail      #
######################################################################
begin acl

acl_check_spammers:
accept hosts = +whitelist

drop message = Your host in blacklist on this server.
log_message = Host in blacklist
hosts = +spammers

accept

acl_check_mail:
deny condition = ${if eq{$sender_helo_name}{}}
message = HELO required before MAIL

drop message = Helo name contains a ip address (HELO was $sender_helo_name) and not is valid
condition = ${if match{$sender_helo_name}{\N((\d{1,3}[.-]\d{1,3}[.-]\d{1,3}[.-]\d{1,3})|([0-9a-f]{8})|([0-9A-F]{8}))\N}{yes}{no}}
condition = ${if match {${lookup dnsdb{&gt;: defer_never,ptr=$sender_host_address}}\}{$sender_helo_name}{no}{yes}}
delay = 45s
drop condition = ${if isip{$sender_helo_name}}
message = Access denied - Invalid HELO name (See RFC2821 4.1.3)

drop condition = ${if eq{[$interface_address]}{$sender_helo_name}}
message = $interface_address is _my_ address

accept

acl_check_rcpt:
accept hosts = :

deny message = Restricted characters in address
domains = +local_domains
local_parts = ^[.] : ^.*[@%!/|]

deny message = Restricted characters in address
domains = !+local_domains
local_parts = ^[./|] : ^.*[@%!] : ^.*/\\.\\./

require verify = sender

accept hosts = +relay_from_hosts
control = submission

accept authenticated = *
control = submission/domain=

deny message = Rejected because $sender_host_address is in a black list at $dnslist_domain\n$dnslist_text
hosts = !+whitelist
dnslists = ${readfile {/etc/exim/dnsbl.conf}{:}}

require message = relay not permitted
domains = +local_domains : +relay_to_domains



deny message = smtp auth requried
sender_domains = +local_domains
!authenticated = *

require verify = recipient

.ifdef CLAMD
warn set acl_m0 = no

warn condition = ${if exists {/etc/exim/domains/$domain/antivirus}{yes}{no}}
set acl_m0 = yes
.endif

.ifdef SPAMASSASSIN
warn set acl_m1 = no

warn condition = ${if exists {/etc/exim/domains/$domain/antispam}{yes}{no}}
set acl_m1 = yes
.endif

accept

acl_check_data:
.ifdef CLAMD
deny message = Message contains a virus ($malware_name) and has been rejected
malware = *
condition = ${if eq{$acl_m0}{yes}{yes}{no}}
.endif

.ifdef SPAMASSASSIN
warn !authenticated = *
hosts = !+relay_from_hosts
condition = ${if &lt; {$message_size}{100K}}
condition = ${if eq{$acl_m1}{yes}{yes}{no}}
spam = spamd:true/defer_ok
add_header = X-Spam-Score: $spam_score_int
add_header = X-Spam-Bar: $spam_bar
add_header = X-Spam-Report: $spam_report
set acl_m2 = $spam_score_int
warn condition = ${if !eq{$acl_m2}{} {yes}{no}}
condition = ${if &gt;{$acl_m2}{SPAM_SCORE} {yes}{no}}
add_header = X-Spam-Status: Yes
message = SpamAssassin detected spam (from $sender_address to $recipients).
.endif

accept

acl_check_mime:
deny message = Blacklisted file extension detected
condition = ${if match {${lc:$mime_filename}}{\N(\.ade|\.adp|\.bat|\.chm|\.cmd|\.com|\.cpl|\.exe|\.hta|\.ins|\.isp|\.jse|\.lib|\.lnk|\.mde|\.msc|\.msp|\.mst|\.pif|\.scr|\.sct|\.shb|\.sys|\.vb|\.vbe|\.vbs|\.vxd|\.wsc|\.wsf|\.wsh)$\N}{1}{0}}

accept



######################################################################
#                   AUTHENTICATION CONFIGURATION                     #
######################################################################
begin authenticators

dovecot_plain:
driver = dovecot
public_name = PLAIN
server_socket = /var/run/dovecot/auth-client
server_set_id = $auth1

dovecot_login:
driver = dovecot
public_name = LOGIN
server_socket = /var/run/dovecot/auth-client
server_set_id = $auth1



######################################################################
#                      ROUTERS CONFIGURATION                         #
#               Specifies how addresses are handled                  #
######################################################################
begin routers

#smarthost:
# driver = manualroute
# domains = ! +local_domains
# transport = remote_smtp
# route_list = * smartrelay.vestacp.com
# no_more
# no_verify

dnslookup:
driver = dnslookup
domains = !+local_domains
transport = remote_smtp
no_more

userforward:
driver = redirect
check_local_user
file = $home/.forward
allow_filter
no_verify
no_expn
check_ancestor
file_transport = address_file
pipe_transport = address_pipe
reply_transport = address_reply

procmail:
driver = accept
check_local_user
require_files = ${local_part}:+${home}/.procmailrc:/usr/bin/procmail
transport = procmail
no_verify

autoreplay:
driver = accept
require_files = /etc/exim/domains/$domain/autoreply.${local_part}.msg
condition = ${if exists{/etc/exim/domains/$domain/autoreply.${local_part}.msg}{yes}{no}}
retry_use_local_part
transport = userautoreply
unseen

aliases:
driver = redirect
headers_add = X-redirected: yes
data = ${extract{1}{:}{${lookup{$local_part@$domain}lsearch{/etc/exim/domains/${lookup{$domain}dsearch{/etc/exim/domains/}}/aliases}}}}
require_files = /etc/exim/domains/$domain/aliases
redirect_router = dnslookup
pipe_transport = address_pipe
unseen

localuser_fwd_only:
driver = accept
transport = devnull
condition = ${if exists{/etc/exim/domains/$domain/fwd_only}{${lookup{$local_part}lsearch{/etc/exim/domains/${lookup{$domain}dsearch{/etc/exim/domains/}}/fwd_only}{true}{false}}}}

localuser_spam:
driver = accept
transport = local_spam_delivery
condition = ${if eq {${if match{$h_X-Spam-Status:}{\N^Yes\N}{yes}{no}}} {${lookup{$local_part}lsearch{/etc/exim/domains/${lookup{$domain}dsearch{/etc/exim/domains/}}/passwd}{yes}{no_such_user}}}}

localuser:
driver = accept
transport = local_delivery
condition = ${lookup{$local_part}lsearch{/etc/exim/domains/${lookup{$domain}dsearch{/etc/exim/domains/}}/passwd}{true}{false}}

catchall:
driver = redirect
headers_add = X-redirected: yes
require_files = /etc/exim/domains/$domain/aliases
data = ${extract{1}{:}{${lookup{*@$domain}lsearch{/etc/exim/domains/${lookup{$domain}dsearch{/etc/exim/domains/}}/aliases}}}}
file_transport = local_delivery
redirect_router = dnslookup

terminate_alias:
driver = accept
transport = devnull
condition = ${lookup{$local_part@$domain}lsearch{/etc/exim/domains/${lookup{$domain}dsearch{/etc/exim/domains/}}/aliases}{true}{false}}



######################################################################
#                      TRANSPORTS CONFIGURATION                      #
######################################################################
begin transports

remote_smtp:
driver = smtp
#helo_data = $sender_address_domain
dkim_domain = DKIM_DOMAIN
dkim_selector = mail
dkim_private_key = DKIM_PRIVATE_KEY
dkim_canon = relaxed
dkim_strict = 0

procmail:
driver = pipe
command = "/usr/bin/procmail -d $local_part"
return_path_add
delivery_date_add
envelope_to_add
user = $local_part
initgroups
return_output

local_delivery:
driver = appendfile
maildir_format
maildir_use_size_file
user = ${extract{2}{:}{${lookup{$local_part}lsearch{/etc/exim/domains/${lookup{$domain}dsearch{/etc/exim/domains/}}/passwd}}}}
group = mail
create_directory
directory_mode = 770
mode = 660
use_lockfile = no
delivery_date_add
envelope_to_add
return_path_add
directory = "${extract{5}{:}{${lookup{$local_part}lsearch{/etc/exim/domains/${lookup{$domain}dsearch{/etc/exim/domains/}}/passwd}}}}/mail/${lookup{$domain}dsearch{/etc/exim/domains/}}/${lookup{$local_part}dsearch{${extract{5}{:}{${lookup{$local_part}lsearch{/etc/exim/domains/${lookup{$domain}dsearch{/etc/exim/domains/}}/passwd}}}}/mail/${lookup{$domain}dsearch{/etc/exim/domains/}}}}"
quota = ${extract{6}{:}{${lookup{$local_part}lsearch{/etc/exim/domains/${lookup{$domain}dsearch{/etc/exim/domains/}}/passwd}}}}M
quota_warn_threshold = 75%

local_spam_delivery:
driver = appendfile
maildir_format
maildir_use_size_file
user = ${extract{2}{:}{${lookup{$local_part}lsearch{/etc/exim/domains/${lookup{$domain}dsearch{/etc/exim/domains/}}/passwd}}}}
group = mail
create_directory
directory_mode = 770
mode = 660
use_lockfile = no
delivery_date_add
envelope_to_add
return_path_add
directory = "${extract{5}{:}{${lookup{$local_part}lsearch{/etc/exim/domains/${lookup{$domain}dsearch{/etc/exim/domains/}}/passwd}}}}/mail/${lookup{$domain}dsearch{/etc/exim/domains/}}/${lookup{$local_part}dsearch{${extract{5}{:}{${lookup{$local_part}lsearch{/etc/exim/domains/${lookup{$domain}dsearch{/etc/exim/domains/}}/passwd}}}}/mail/${lookup{$domain}dsearch{/etc/exim/domains/}}}}/.Spam"
quota = ${extract{6}{:}{${lookup{$local_part}lsearch{/etc/exim/domains/${lookup{$domain}dsearch{/etc/exim/domains/}}/passwd}}}}M
quota_directory = "${extract{5}{:}{${lookup{$local_part}lsearch{/etc/exim/domains/${lookup{$domain}dsearch{/etc/exim/domains/}}/passwd}}}}/mail/${lookup{$domain}dsearch{/etc/exim/domains/}}/${lookup{$local_part}dsearch{${extract{5}{:}{${lookup{$local_part}lsearch{/etc/exim/domains/${lookup{$domain}dsearch{/etc/exim/domains/}}/passwd}}}}/mail/${lookup{$domain}dsearch{/etc/exim/domains/}}}}"
quota_warn_threshold = 75%

address_pipe:
driver = pipe
return_output


address_file:
driver = appendfile
delivery_date_add
envelope_to_add
return_path_add

address_reply:
driver = autoreply

userautoreply:
driver = autoreply
file = /etc/exim/domains/$domain/autoreply.${local_part}.msg
from = "${local_part}@${domain}"
headers = Content-Type: text/plain; charset=utf-8;\nContent-Transfer-Encoding: 8bit
subject = "${if def:h_Subject: {Autoreply: \"${rfc2047:$h_Subject:}\"} {Autoreply Message}}"
to = "${sender_address}"

devnull:
driver = appendfile
file = /dev/null

######################################################################
#                      RETRY CONFIGURATION                           #
######################################################################
begin retry

# Address or Domain Error Retries
# ----------------- ----- -------
* * F,2h,15m; G,16h,1h,1.5; F,4d,6h



######################################################################
#                      REWRITE CONFIGURATION                         #
######################################################################
begin rewrite



######################################################################</pre>
<p><strong>Следующей проблемой с которой мы столкнулись это ошибка</strong></p>
<pre class="lang:default decode:true ">R=dnslookup defer (-1): host lookup did not complete</pre>
<p><a href="https://my-mails.ru/problema-s-exim-rdnslookup-defer-1-host-lookup-did-not-complete/" target="_blank" rel="noopener">решение</a></p>
<p>&nbsp;</p>
<div class="rcl-rating-box rating-type-post box-default"><div class="rating-wrapper"><span class="vote-heart"><i class="rcli fa-heartbeat" aria-hidden="true"></i></span><span class="rating-value"><span class="rating-null">0</span></span></div></div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>VESTA CP 451 temporary local problem please try later</title>
		<link>https://my-mails.ru/vesta-cp-451-temporary-local-problem-please-try-later/</link>
		
		<dc:creator><![CDATA[my-mails.ru]]></dc:creator>
		<pubDate>Sun, 27 Dec 2020 03:56:56 +0000</pubDate>
				<category><![CDATA[exim]]></category>
		<guid isPermaLink="false">https://my-mails.ru/?p=3603</guid>

					<description><![CDATA[Краткая заметка После обновления vesta cp &#8212; перестают приходить письма в стандартной конфигурации При отправке письма на наш email получаем]]></description>
										<content:encoded><![CDATA[<h4>Краткая заметка</h4>
<p>После обновления vesta cp &#8212; перестают приходить письма в стандартной конфигурации</p>
<p><strong>При отправке письма на наш email </strong><br />
<span style="color: #ff0000;"><strong>получаем ошибку: </strong></span>451 temporary local problem please try later</p>
<p><span style="color: #ff0000;"><strong>В логах наблюдаем:</strong></span> temporarily rejected RCPT &lt;mail@domain&gt;: failed to expand &#171;${extract{1}{:}{${lookup{$local_part@$domain}lsearch{/etc/exim/domains/$domain/aliases}}}}&#187;: NULL</p>
<p><a href="https://forum.vestacp.com/viewtopic.php?f=12&amp;t=19994">Ветка проблемы US</a><br />
Как видно из обсуждении в сообществе, проблема вызвана обновлением версии exim до 4-94-1.el7</p>
<p>Временное рабочее решение &#171;откатиться&#187; на раннюю версию</p>
<pre class="lang:default decode:true ">wget https://ca1.dynanode.net/exim-4.93-3.el7.x86_64.rpm
rpm -Uvh --oldpackage exim-4.93-3.el7.x86_64.rpm</pre>
<p>Если по ссылке выше не удается скачать файлы, попробуйте эти:</p>
<pre class="lang:default decode:true ">wget https://git.io/JJjHP -O exim-4.93-3.el7.x86_64.rpm
rpm -Uvh --oldpackage exim-4.93-3.el7.x86_64.rpm</pre>
<p>Перезагрузка, и теперь наши письма ходят.</p>
<div class="rcl-rating-box rating-type-post box-default"><div class="rating-wrapper"><span class="vote-heart"><i class="rcli fa-heartbeat" aria-hidden="true"></i></span><span class="rating-value"><span class="rating-null">0</span></span></div></div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Выбором исходящих IP адресов в Exim для доменов</title>
		<link>https://my-mails.ru/%d0%b2%d1%8b%d0%b1%d0%be%d1%80%d0%be%d0%bc-%d0%b8%d1%81%d1%85%d0%be%d0%b4%d1%8f%d1%89%d0%b8%d1%85-ip-%d0%b0%d0%b4%d1%80%d0%b5%d1%81%d0%be%d0%b2-%d0%b2-exim-%d0%b4%d0%bb%d1%8f-%d0%b4%d0%be%d0%bc%d0%b5/</link>
		
		<dc:creator><![CDATA[my-mails.ru]]></dc:creator>
		<pubDate>Wed, 06 Nov 2019 04:54:16 +0000</pubDate>
				<category><![CDATA[exim]]></category>
		<guid isPermaLink="false">https://my-mails.ru/?p=2829</guid>

					<description><![CDATA[По умолчанию EXIM отправляет всю почту через ip и домен на которые установлен сервер (MTA) В заголовках мы видим ip]]></description>
										<content:encoded><![CDATA[<p>По умолчанию EXIM отправляет всю почту через ip и домен на которые установлен сервер (MTA)</p>
<p>В заголовках мы видим ip и домен на который был установлен сервер, при этом отправка была с добавленного домена и ip.</p>
<pre class="lang:default decode:true">Received-SPF: pass (mx306.i.mail.ru: domain of domainSENDER.ru designates 00.000.00.001 as permitted sender) client-ip=00.000.00.001; envelope-from=domainSENDER.ru; helo=domainMTA.ru;
Received: from domainMTA.ru ([00.000.00.001]:60808)</pre>
<p><strong>Задача:</strong>  указать EXIM с какого домена и ip требуется отсылать почту.</p>
<p>Список доступных IP-адресов для отправки исходящей почты определяется параметром <strong>interface</strong> в секции конфигурационного файла TRANSPORTS CONFIGURATION</p>
<pre class="lang:default decode:true">remote_smtp:
   driver = smtp
   interface = .......ЗНАЧЕНИЕ.......</pre>
<p>По умолчанию он отсутствует.</p>
<h3>Вариант 1 &#8212; ротация ip адресов</h3>
<p>Например, у нас имеется подсеть IPv4 1.2.3.240/28, что даёт нам 14 свободных IP-адресов c 1.2.3.241 по 1.2.3.254 для использования.</p>
<p>Для случайной ротации этого набора можно использовать следующее выражение в параметре interface транспорта smtp.</p>
<pre class="lang:default decode:true ">...
remote_smtp:
  driver                = smtp
  interface             = 1.2.3.${eval:${randint:14}+241}
...</pre>
<p>Ротация адреса по времени. К примеру, последовательно один раз в секунду.</p>
<pre class="lang:default decode:true ">...
remote_smtp:
  driver                = smtp
  interface             = 1.2.3.${eval:$tod_epoch%14+241} 
...</pre>
<p>В случае, если имеется набор адресов из разных подсетей, можно воспользоваться следующим выражением для их случайной ротации. Например, для набора из 4 адресов это будет выглядеть так.</p>
<pre class="lang:default decode:true ">...
remote_smtp:
  driver                = smtp
  interface             = &lt;;${extract{${eval:${randint:4}+1}}{;}{1.2.3.4;5.6.7.8;9.0.1.2;3.4.5.6}}
...</pre>
<h3>Вариант 2 &#8212; каждому домену &#8212; свой ip адрес</h3>
<p>Можно также задать свой набор IP-адресов для каждого из доменов-отправителей, перечислив их соответствие в списке в отдельном файле.</p>
<p>файл ifaces <strong>nano /etc/exim/ifaces</strong></p>
<pre class="lang:default decode:true ">"domainMTA.ru"  00.000.00.001
"domainSENDER.ru" 00.000.00.002</pre>
<p>добавляем в конфигурацию /etc/exim значение<strong> interface</strong></p>
<pre class="lang:default decode:true">...
begin transports
...
remote_smtp:
  driver  = smtp
  interface = &lt;;${lookup{$sender_address_domain}lsearch{/etc/exim/ifaces}{$value}{1.2.3.4;5.6.7.8;2000:1:2:3::4;2000:5:6:7::8}} 
...</pre>
<p>В этом примере в файле <em>ifaces</em> производится поиск соответствующего домену-отправителю списка IP-адресов, а в случае их отсутствия используется общий их список.</p>
<p>В итоге видим следующее:</p>
<pre class="">Received-SPF: pass (mx177.mail.ru: domain of domainSENDER.ru designates 00.000.00.002 as permitted sender) client-ip=00.000.00.002; envelope-from=buonce@domainSENDER.ru; helo=domainMTA.ru;
Received: domainSENDER.ru ([00.000.00.002]:35304 helo=domainMTA.ru)</pre>
<h3>Изменить Helo отправителя</h3>
<p><span class="crayon-v">Как мы видим из примера выше, нам удалось указать ip домена отправителя, при этом helo остался прежним (домена установленного MTA)</span></p>
<p>Добавляем дополнительное значение в конфигурацию /etc/exim</p>
<pre class="lang:default decode:true">... 
begin transports 
... 
remote_smtp: 
   driver = smtp 
   interface = &lt;;${lookup{$sender_address_domain}lsearch{/etc/exim/ifaces}{$value}{1.2.3.4;5.6.7.8;2000:1:2:3::4;2000:5:6:7::8}}
   helo_data = ${lookup dnsdb{ptr=$sending_ip_address}{$value}{$primary_hostname}}
...</pre>
<p>получаем следующий вывод в заголовках:</p>
<pre class="">Received-SPF: pass (mx177.mail.ru: domain of domainSENDER.ru designates 00.000.00.002 as permitted sender) client-ip=00.000.00.002; envelope-from=domainSENDER.ru; helo=domainSENDER.ru;
Received: from domainSENDER.ru ([00.000.00.002]:35304)</pre>
<pre class="">Received: from ***************** ([************])
	by domainMTA.ru with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
	(Exim 4.92)</pre>
<p>&nbsp;</p>
<div class="rcl-rating-box rating-type-post box-default"><div class="rating-wrapper"><span class="vote-heart"><i class="rcli fa-heartbeat" aria-hidden="true"></i></span><span class="rating-value"><span class="rating-null">0</span></span></div></div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Exim пересылка писем через Gmail</title>
		<link>https://my-mails.ru/exim-%d0%bf%d0%b5%d1%80%d0%b5%d1%81%d1%8b%d0%bb%d0%ba%d0%b0-%d0%bf%d0%b8%d1%81%d0%b5%d0%bc-%d1%87%d0%b5%d1%80%d0%b5%d0%b7-gmail/</link>
		
		<dc:creator><![CDATA[my-mails.ru]]></dc:creator>
		<pubDate>Sun, 02 Jun 2019 13:32:54 +0000</pubDate>
				<category><![CDATA[exim]]></category>
		<guid isPermaLink="false">https://my-mails.ru/?p=2669</guid>

					<description><![CDATA[Vesta CP / Exim / Centos 6 &#8212; Ретрансляция потовых писем через gmail Откройте /etc/exim/exim.conf (доступен в панеле vesta в разделе]]></description>
										<content:encoded><![CDATA[<p><strong>Vesta CP / Exim / Centos 6</strong> &#8212; Ретрансляция потовых писем через gmail</p>
<p>Откройте /etc/exim/exim.conf (доступен в панеле vesta в разделе server) или</p>
<pre class="lang:default decode:true">nano /etc/exim/exim.conf</pre>
<p>найдите строку <strong>begin routers</strong>, под ней добавьте строки:</p>
<pre class="text">send_via_gmail:
 driver = manualroute
 domains = ! +local_domains
 transport = gmail_smtp
 route_list = * smtp.gmail.com</pre>
<p>найдите строку <strong>begin transports</strong>, под ней добавьте строки:</p>
<pre class="text">gmail_smtp:
   driver = smtp
   port = 587
   hosts_require_auth = *
   hosts_require_tls = *</pre>
<p>найдите строку <strong>begin authenticators</strong>, под ней добавьте строки:</p>
<pre class="lang:default decode:true text">gmail_login:
   driver = plaintext
   public_name = LOGIN
   client_send =: user@gmail.com: myPassw0rd</pre>
<p><strong>Замените в секции client_send</strong> значения логин и пароль на фактические</p>
<p>Перезапустите Exim</p>
<pre class="lang:default decode:true ">ervice exim restart</pre>
<h3>Тестирем</h3>
<pre class="lang:default decode:true ">echo "Just testing." | mail -s "Test Subject" user@example.org</pre>
<p>указав user@example.org &#8212; свой адрес куда получаем тестовое письмо</p>
<p><em>Если вы получаете сообщение об ошибке из Gmail, они обычно ссылаются на URL-адрес ошибки, которую вы можете посетить для получения дополнительной информации. </em></p>
<p>Как правило &#8212; тест проходит успешно.</p>
<div class="prime-spoiler"><a href="#" class="prime-spoiler-link" onclick="pfm_spoiler(this); return false;"><i class="rcli fa-plus-square-o"></i> Спойлер</a><div class="prime-spoiler-content"></p>
<p>######################################################################<br />
# #<br />
# Exim configuration file for Vesta Control Panel #<br />
# #<br />
######################################################################</p>
<p>#SPAMASSASSIN = yes<br />
#SPAM_SCORE = 50<br />
#CLAMD = yes</p>
<p>disable_ipv6=true<br />
domainlist local_domains = dsearch;/etc/exim/domains/<br />
domainlist relay_to_domains = dsearch;/etc/exim/domains/<br />
hostlist relay_from_hosts = 127.0.0.1<br />
hostlist whitelist = net-iplsearch;/etc/exim/white-blocks.conf<br />
hostlist spammers = net-iplsearch;/etc/exim/spam-blocks.conf<br />
no_local_from_check<br />
untrusted_set_sender = *<br />
acl_smtp_connect = acl_check_spammers<br />
acl_smtp_mail = acl_check_mail<br />
acl_smtp_rcpt = acl_check_rcpt<br />
acl_smtp_data = acl_check_data<br />
acl_smtp_mime = acl_check_mime</p>
<p>.ifdef SPAMASSASSIN<br />
spamd_address = 127.0.0.1 783<br />
.endif</p>
<p>.ifdef CLAMD<br />
av_scanner = clamd: /var/run/clamav/clamd.sock<br />
.endif</p>
<p>tls_advertise_hosts = *<br />
tls_certificate = /usr/local/vesta/ssl/certificate.crt<br />
tls_privatekey = /usr/local/vesta/ssl/certificate.key</p>
<p>daemon_smtp_ports = 25 : 465 : 587 : 2525<br />
tls_on_connect_ports = 465<br />
never_users = root<br />
host_lookup = *<br />
rfc1413_hosts = *<br />
rfc1413_query_timeout = 5s<br />
ignore_bounce_errors_after = 2d<br />
timeout_frozen_after = 7d</p>
<p>DKIM_DOMAIN = ${lc:${domain:$h_from:}}<br />
DKIM_FILE = /etc/exim/domains/${lc:${domain:$h_from:}}/dkim.pem<br />
DKIM_PRIVATE_KEY = ${if exists{DKIM_FILE}{DKIM_FILE}{0}}</p>
<p>######################################################################<br />
# ACL CONFIGURATION #<br />
# Specifies access control lists for incoming SMTP mail #<br />
######################################################################<br />
begin acl</p>
<p>acl_check_spammers:<br />
accept hosts = +whitelist</p>
<p>drop message = Your host in blacklist on this server.<br />
log_message = Host in blacklist<br />
hosts = +spammers</p>
<p>accept</p>
<p>acl_check_mail:<br />
deny condition = ${if eq{$sender_helo_name}{}}<br />
message = HELO required before MAIL</p>
<p>drop message = Helo name contains a ip address (HELO was $sender_helo_name) and not is valid<br />
condition = ${if match{$sender_helo_name}{\N((\d{1,3}[.-]\d{1,3}[.-]\d{1,3}[.-]\d{1,3})|([0-9a-f]{8})|([0-9A-F]{8}))\N}{yes}{no}}<br />
condition = ${if match {${lookup dnsdb{&gt;: defer_never,ptr=$sender_host_address}}\}{$sender_helo_name}{no}{yes}}<br />
delay = 45s</p>
<p>drop condition = ${if isip{$sender_helo_name}}<br />
message = Access denied &#8212; Invalid HELO name (See RFC2821 4.1.3)</p>
<p>drop condition = ${if eq{[$interface_address]}{$sender_helo_name}}<br />
message = $interface_address is _my_ address</p>
<p>accept</p>
<p>acl_check_rcpt:<br />
accept hosts = :</p>
<p>deny message = Restricted characters in address<br />
domains = +local_domains<br />
local_parts = ^[.] : ^.*[@%!/|]</p>
<p>deny message = Restricted characters in address<br />
domains = !+local_domains<br />
local_parts = ^[./|] : ^.*[@%!] : ^.*/\\.\\./</p>
<p>require verify = sender</p>
<p>accept hosts = +relay_from_hosts<br />
control = submission</p>
<p>accept authenticated = *<br />
control = submission/domain=</p>
<p>deny message = Rejected because $sender_host_address is in a black list at $dnslist_domain\n$dnslist_text<br />
hosts = !+whitelist<br />
dnslists = ${readfile {/etc/exim/dnsbl.conf}{:}}</p>
<p>require message = relay not permitted<br />
domains = +local_domains : +relay_to_domains</p>
<p>deny message = smtp auth requried<br />
sender_domains = +local_domains<br />
!authenticated = *</p>
<p>require verify = recipient</p>
<p>.ifdef CLAMD<br />
warn set acl_m0 = no</p>
<p>warn condition = ${if exists {/etc/exim/domains/$domain/antivirus}{yes}{no}}<br />
set acl_m0 = yes<br />
.endif</p>
<p>.ifdef SPAMASSASSIN<br />
warn set acl_m1 = no</p>
<p>warn condition = ${if exists {/etc/exim/domains/$domain/antispam}{yes}{no}}<br />
set acl_m1 = yes<br />
.endif</p>
<p>accept</p>
<p>acl_check_data:<br />
.ifdef CLAMD<br />
deny message = Message contains a virus ($malware_name) and has been rejected<br />
malware = *<br />
condition = ${if eq{$acl_m0}{yes}{yes}{no}}<br />
.endif</p>
<p>.ifdef SPAMASSASSIN<br />
warn !authenticated = *<br />
hosts = !+relay_from_hosts<br />
condition = ${if &lt; {$message_size}{100K}} condition = ${if eq{$acl_m1}{yes}{yes}{no}} spam = nobody:true/defer_ok add_header = X-Spam-Score: $spam_score_int add_header = X-Spam-Bar: $spam_bar add_header = X-Spam-Report: $spam_report set acl_m2 = $spam_score_int warn condition = ${if !eq{$acl_m2}{} {yes}{no}} condition = ${if &gt;{$acl_m2}{SPAM_SCORE} {yes}{no}}<br />
add_header = X-Spam-Status: Yes<br />
message = SpamAssassin detected spam (from $sender_address to $recipients).<br />
.endif</p>
<p>accept</p>
<p>acl_check_mime:<br />
deny message = Blacklisted file extension detected<br />
condition = ${if match {${lc:$mime_filename}}{\N(\.ade|\.adp|\.bat|\.chm|\.cmd|\.com|\.cpl|\.exe|\.hta|\.ins|\.isp|\.jse|\.lib|\.lnk|\.mde|\.msc|\.msp|\.mst|\.pif|\.scr|\.sct|\.shb|\.sys|\.vb|\.vbe|\.vbs|\.vxd|\.wsc|\.wsf|\.wsh)$\N}{1}{0}}</p>
<p>accept</p>
<p>######################################################################<br />
# AUTHENTICATION CONFIGURATION #<br />
######################################################################<br />
begin authenticators</p>
<p>gmail_login:<br />
driver = plaintext<br />
public_name = LOGIN<br />
client_send = : login@gmail.com : password_you_mail</p>
<p>dovecot_plain:<br />
driver = dovecot<br />
public_name = PLAIN<br />
server_socket = /var/run/dovecot/auth-client<br />
server_set_id = $auth1</p>
<p>dovecot_login:<br />
driver = dovecot<br />
public_name = LOGIN<br />
server_socket = /var/run/dovecot/auth-client<br />
server_set_id = $auth1</p>
<p>######################################################################<br />
# ROUTERS CONFIGURATION #<br />
# Specifies how addresses are handled #<br />
######################################################################<br />
begin routers</p>
<p>send_via_gmail:<br />
driver = manualroute<br />
domains = ! +local_domains<br />
transport = gmail_smtp<br />
route_list = * smtp.gmail.com</p>
<p>#smarthost:<br />
# driver = manualroute<br />
# domains = ! +local_domains<br />
# transport = remote_smtp<br />
# route_list = * smartrelay.vestacp.com<br />
# no_more<br />
# no_verify</p>
<p>dnslookup:<br />
driver = dnslookup<br />
domains = !+local_domains<br />
transport = remote_smtp<br />
no_more</p>
<p>userforward:<br />
driver = redirect<br />
check_local_user<br />
file = $home/.forward<br />
allow_filter<br />
no_verify<br />
no_expn<br />
check_ancestor<br />
file_transport = address_file<br />
pipe_transport = address_pipe<br />
reply_transport = address_reply</p>
<p>procmail:<br />
driver = accept<br />
check_local_user<br />
require_files = ${local_part}:+${home}/.procmailrc:/usr/bin/procmail<br />
transport = procmail<br />
no_verify</p>
<p>autoreplay:<br />
driver = accept<br />
require_files = /etc/exim/domains/$domain/autoreply.${local_part}.msg<br />
condition = ${if exists{/etc/exim/domains/$domain/autoreply.${local_part}.msg}{yes}{no}}<br />
retry_use_local_part<br />
transport = userautoreply<br />
unseen</p>
<p>aliases:<br />
driver = redirect<br />
headers_add = X-redirected: yes<br />
data = ${extract{1}{:}{${lookup{$local_part@$domain}lsearch{/etc/exim/domains/$domain/aliases}}}}<br />
require_files = /etc/exim/domains/$domain/aliases<br />
redirect_router = dnslookup<br />
pipe_transport = address_pipe<br />
unseen</p>
<p>localuser_fwd_only:<br />
driver = accept<br />
transport = devnull<br />
condition = ${if exists{/etc/exim/domains/$domain/fwd_only}{${lookup{$local_part}lsearch{/etc/exim/domains/$domain/fwd_only}{true}{false}}}}</p>
<p>localuser_spam:<br />
driver = accept<br />
transport = local_spam_delivery<br />
condition = ${if eq {${if match{$h_X-Spam-Status:}{\N^Yes\N}{yes}{no}}} {${lookup{$local_part}lsearch{/etc/exim/domains/$domain/passwd}{yes}{no_such_user}}}}</p>
<p>localuser:<br />
driver = accept<br />
transport = local_delivery<br />
condition = ${lookup{$local_part}lsearch{/etc/exim/domains/$domain/passwd}{true}{false}}</p>
<p>catchall:<br />
driver = redirect<br />
headers_add = X-redirected: yes<br />
require_files = /etc/exim/domains/$domain/aliases<br />
data = ${extract{1}{:}{${lookup{*@$domain}lsearch{/etc/exim/domains/$domain/aliases}}}}<br />
file_transport = local_delivery<br />
redirect_router = dnslookup</p>
<p>terminate_alias:<br />
driver = accept<br />
transport = devnull<br />
condition = ${lookup{$local_part@$domain}lsearch{/etc/exim/domains/$domain/aliases}{true}{false}}</p>
<p>######################################################################<br />
# TRANSPORTS CONFIGURATION #<br />
######################################################################<br />
begin transports</p>
<p>gmail_smtp:<br />
driver = smtp<br />
port = 587<br />
hosts_require_auth = *<br />
hosts_require_tls = *</p>
<p>remote_smtp:<br />
driver = smtp<br />
#helo_data = $sender_address_domain<br />
dkim_domain = DKIM_DOMAIN<br />
dkim_selector = mail<br />
dkim_private_key = DKIM_PRIVATE_KEY<br />
dkim_canon = relaxed<br />
dkim_strict = 0</p>
<p>procmail:<br />
driver = pipe<br />
command = &#171;/usr/bin/procmail -d $local_part&#187;<br />
return_path_add<br />
delivery_date_add<br />
envelope_to_add<br />
user = $local_part<br />
initgroups<br />
return_output</p>
<p>local_delivery:<br />
driver = appendfile<br />
maildir_format<br />
maildir_use_size_file<br />
user = ${extract{2}{:}{${lookup{$local_part}lsearch{/etc/exim/domains/$domain/passwd}}}}<br />
group = mail<br />
create_directory<br />
directory_mode = 770<br />
mode = 660<br />
use_lockfile = no<br />
delivery_date_add<br />
envelope_to_add<br />
return_path_add<br />
directory = &#171;${extract{5}{:}{${lookup{$local_part}lsearch{/etc/exim/domains/$domain/passwd}}}}/mail/$domain/$local_part&#187;<br />
quota = ${extract{6}{:}{${lookup{$local_part}lsearch{/etc/exim/domains/$domain/passwd}}}}M<br />
quota_warn_threshold = 75%</p>
<p>local_spam_delivery:<br />
driver = appendfile<br />
maildir_format<br />
maildir_use_size_file<br />
user = ${extract{2}{:}{${lookup{$local_part}lsearch{/etc/exim/domains/$domain/passwd}}}}<br />
group = mail<br />
create_directory<br />
directory_mode = 770<br />
mode = 660<br />
use_lockfile = no<br />
delivery_date_add<br />
envelope_to_add<br />
return_path_add<br />
directory = &#171;${extract{5}{:}{${lookup{$local_part}lsearch{/etc/exim/domains/$domain/passwd}}}}/mail/$domain/$local_part/.Spam&#187;<br />
quota = ${extract{6}{:}{${lookup{$local_part}lsearch{/etc/exim/domains/$domain/passwd}}}}M<br />
quota_directory = &#171;${extract{5}{:}{${lookup{$local_part}lsearch{/etc/exim/domains/$domain/passwd}}}}/mail/$domain/$local_part&#187;<br />
quota_warn_threshold = 75%</p>
<p>address_pipe:<br />
driver = pipe<br />
return_output</p>
<p>address_file:<br />
driver = appendfile<br />
delivery_date_add<br />
envelope_to_add<br />
return_path_add</p>
<p>address_reply:<br />
driver = autoreply</p>
<p>userautoreply:<br />
driver = autoreply<br />
file = /etc/exim/domains/$domain/autoreply.${local_part}.msg<br />
from = &#171;${local_part}@${domain}&#187;<br />
headers = Content-Type: text/plain; charset=utf-8;\nContent-Transfer-Encoding: 8bit<br />
subject = &#171;${if def:h_Subject: {Autoreply: \&#187;${rfc2047:$h_Subject:}\&#187;} {Autoreply Message}}&#187;<br />
to = &#171;${sender_address}&#187;</p>
<p>devnull:<br />
driver = appendfile<br />
file = /dev/null</p>
<p>######################################################################<br />
# RETRY CONFIGURATION #<br />
######################################################################<br />
begin retry</p>
<p># Address or Domain Error Retries<br />
# &#8212;&#8212;&#8212;&#8212;&#8212;&#8212; &#8212;&#8212; &#8212;&#8212;-<br />
* * F,2h,15m; G,16h,1h,1.5; F,4d,6h</p>
<p>######################################################################<br />
# REWRITE CONFIGURATION #<br />
######################################################################<br />
begin rewrite</p>
<p>######################################################################</p>
<p></div></div>
<div class="rcl-rating-box rating-type-post box-default"><div class="rating-wrapper"><span class="vote-heart"><i class="rcli fa-heartbeat" aria-hidden="true"></i></span><span class="rating-value"><span class="rating-null">0</span></span></div></div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Команды почтового сервера Exim</title>
		<link>https://my-mails.ru/r%d0%be%d0%bc%d0%b0%d0%bd%d0%b4%d1%8b-%d0%bf%d0%be%d1%87%d1%82%d0%be%d0%b2%d0%be%d0%b3%d0%be-%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80%d0%b0-exim/</link>
		
		<dc:creator><![CDATA[my-mails.ru]]></dc:creator>
		<pubDate>Tue, 07 May 2019 12:45:08 +0000</pubDate>
				<category><![CDATA[exim]]></category>
		<category><![CDATA[MTA]]></category>
		<category><![CDATA[vesta cp]]></category>
		<guid isPermaLink="false">https://my-mails.ru/?p=2637</guid>

					<description><![CDATA[Exim — это MTA ( Mail Transfer Agent ), агент передачи сообщений,  или почтовый сервер, использующийся в операционных системах Unix.]]></description>
										<content:encoded><![CDATA[<p>Exim — это MTA ( Mail Transfer Agent ), агент передачи сообщений,  или почтовый сервер, использующийся в операционных системах Unix.</p>
<p>Широко применим в панеле Vesta CP</p>
<h3>Управление очередью писем</h3>
<p>Запуск очереди только для локальных доставок:</p>
<pre class="shell">exim -ql -v</pre>
<p>Удалить сообщение из очереди:</p>
<pre class="shell">exim -Mrm  [  ... ]</pre>
<p>Очистит все заблокированные сообщения из очереди:</p>
<pre class="shell">exipick -zi | xargs exim -Mrm</pre>
<h2>Очистит все сообщения из очереди:</h2>
<pre class="shell">exipick -i | xargs exim -Mrm</pre>
<h2>Вывести количество сообщений в очереди:</h2>
<pre class="shell">exim -bpc</pre>
<p>Заблокировать( заморозить ) сообщение:</p>
<pre class="shell">exim -Mf  [  ... ]</pre>
<h3>Получение базовой информации по Exim</h3>
<p>Печать списка сообщений в очереди. Выводятся, время постановки в очередь, размер, ID сообщения, отправитель, получатель:</p>
<pre class="shell">exim -bp</pre>
<p>Печать суммарной информации. Выводимые колонки: количество, объем, старейшее, последнее, домен.</p>
<pre class="shell">exim -bp | exiqsumm</pre>
<p>Чем в данный момент занимается Exim</p>
<pre class="shell">exiwhat</pre>
<h3>Тестирование маршрута доставки до указанного адреса:</h3>
<pre class="shell">exim -bt alias@localdomain.com
user@thishost.com
    &lt;-- alias@localdomain.com
  router = localuser, transport = local_delivery
root@localhost# exim -bt user@thishost.com
user@thishost.com
  router = localuser, transport = local_delivery
root@localhost# exim -bt user@remotehost.com
  router = lookuphost, transport = remote_smtp
  host mail.remotehost.com [1.2.3.4] MX=0</pre>
<p>Эмитировать <em>SMTP</em> транзакцию из командной строки, как если-бы сообщение пришло с указанного IP адреса. При этом будет показано прохождение и срабатывание проверок, фильтров и листов доступа (<em>ACL</em>). На самом деле, никакое сообщение никуда доставлено не будет.</p>
<pre class="shell">exim -bh 192.168.11.22</pre>
<p>Листинг всех настроек конфигурации exim</p>
<pre class="shell">exim -bP</pre>
<h3>Поиск очереди с помощью утилиты exiqgrep</h3>
<p>Стандартная поставка сервера <em>Exim</em> включает в себя утилиту для поиска по очередям — <em class="command">exiqgrep</em>, это самый оптимальный путь для решения данной задачи. Если вы используете конвейер команд, например из <em class="command">exim -bp</em> в <em class="command">awk</em>, <em class="command">grep</em>, <em class="command">cut</em> и т.д., вы просто усложняете себе жизнь. Различные ключи команды <em class="command">exiqgrep</em>, позволяют достаточно тонко настроить критерии поиска. Ключ <strong class="options">-f</strong> используется для поиска сообщений конкретного отправителя</p>
<pre class="shell">exiqgrep -f [luser]@domain</pre>
<p>Ключ <strong class="options">-r</strong> используется для поиска сообщений для определенного адресата</p>
<pre class="shell">exiqgrep -r [luser]@domain</pre>
<p>Ключ <strong class="options">-o</strong> указывает искать сообщения, старее, указанного количества секунд. В примере, сообщения старее 1 дня:</p>
<pre class="shell">exiqgrep -o 86400 [...]</pre>
<p>Ключ <strong class="options">-y</strong> ищет сообщения свежее указанного количества секунд. В примере, найти сообщения, пришедшие в течении последнего часа:</p>
<pre class="shell">exiqgrep -y 3600 [...]</pre>
<p>Ключ <strong class="options">-s</strong> позволяет искать по размеру сообщения, совпадающего с заданным регулярным выражением:</p>
<pre class="shell">exiqgrep -s '^7..$' [...]</pre>
<p>Для поиска только среди заблокированных( замороженных ) сообщений, используйте ключ <strong class="options">-z</strong>, или <strong class="options">-x</strong> для поиска только среди не заблокированных. Еще несколько ключей отвечающих за вывод результатов поиска Вывести только <em>ID</em> сообщения, в одном из вышеупомянутых вариантов поиска</p>
<pre class="shell">exiqgrep -i [ -r | -f ] ...</pre>
<p>Печатать счетчик сообщений при одном из вышеприведенных вариантов поиска:</p>
<pre class="shell">exiqgrep -c ...</pre>
<p>Вывести только идентификатор всей очереди:</p>
<pre class="shell">exiqgrep -i</pre>
<p>Основной бинарник <em>Exim</em> ( <em class="dirconf">/usr/sbin/exim</em> ), используется с различными ключами для управления сообщениями в очереди. Многие ключи, подразумевают указание одного или более <em>ID</em> сообщения в командной строке, как раз тут вам и пригодится команда <em class="command">exiqgrep -i</em>, которая была упомянута выше. Запуск очереди:</p>
<pre class="shell">exim -q -v</pre>
<h3>Сообщение</h3>
<p>Разблокировать сообщение:</p>
<pre class="shell">exim -Mt  [  ... ]
</pre>
<p>Доставить сообщение, вне зависимости от состояния блокировки или времени повторной доставки:</p>
<pre class="shell">exim -M  [  ... ]
</pre>
<p>Доставить сообщение, только если достигнуто время для повторной доставки:</p>
<pre class="shell">exim -Mc  [  ... ]
</pre>
<p>Принудительно остановить сообщение с формулировкой &#171;отменено администратором&#187;:</p>
<pre class="shell">exim -Mg  [  ... ]
</pre>
<p>Удалить все заблокированные сообщения:</p>
<pre class="shell">exiqgrep -z -i | xargs exim -Mrm
</pre>
<p>Удалить все сообщения, старше 5 дней (86400 * 5 = 432000 секунд):</p>
<pre class="shell">exiqgrep -o 432000 -i | xargs exim -Mrm
</pre>
<p>Заблокировать все письма от указанного отправителя:</p>
<pre class="shell">exiqgrep -i -f luser@example.tld | xargs exim -Mf
</pre>
<p>Просмотреть заголовки сообщений:</p>
<pre class="shell">exim -Mvh 
</pre>
<p>Просмотреть тело сообщений:</p>
<pre class="shell">exim -Mvb 
</pre>
<p>Просмотр логов сообщения:</p>
<pre class="shell">exim -Mvl 
</pre>
<p>Добавить получателя в сообщение:</p>
<pre class="shell">exim -Mar</pre>
<p>Редактировать отправителя сообщения:</p>
<pre class="shell">root@localhost# exim -Mes</pre>
<p>&nbsp;</p>
<p><a href="https://vds-admin.ru/mail/poleznye-komandy-pochtovogo-servera-exim-shpargalka">Оригинал статьи</a></p>
<p>&nbsp;</p>
<div class="rcl-rating-box rating-type-post box-default"><div class="rating-wrapper"><span class="vote-heart"><i class="rcli fa-heartbeat" aria-hidden="true"></i></span><span class="rating-value"><span class="rating-null">0</span></span></div></div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Список X-Mailer: почтовых программ</title>
		<link>https://my-mails.ru/%d1%81%d0%bf%d0%b8%d1%81%d0%be%d0%ba-x-mailer-%d0%bf%d0%be%d1%87%d1%82%d0%be%d0%b2%d1%8b%d1%85-%d0%bf%d1%80%d0%be%d0%b3%d1%80%d0%b0%d0%bc%d0%bc/</link>
					<comments>https://my-mails.ru/%d1%81%d0%bf%d0%b8%d1%81%d0%be%d0%ba-x-mailer-%d0%bf%d0%be%d1%87%d1%82%d0%be%d0%b2%d1%8b%d1%85-%d0%bf%d1%80%d0%be%d0%b3%d1%80%d0%b0%d0%bc%d0%bc/#respond</comments>
		
		<dc:creator><![CDATA[my-mails.ru]]></dc:creator>
		<pubDate>Mon, 07 Jan 2019 13:39:22 +0000</pubDate>
				<category><![CDATA[exim]]></category>
		<category><![CDATA[MTA]]></category>
		<category><![CDATA[postfix]]></category>
		<category><![CDATA[PowerMTA]]></category>
		<guid isPermaLink="false">https://my-mails.ru/?p=2264</guid>

					<description><![CDATA[X-Mailer: Ximian Evolution 2.3.1 (2.0.1-6) X-Mailer: The Bat! (v2.00.9) Personal X-Mailer: Apple Mail (2.552) X-Mailer: Ximian Evolution 1.0.3 (1.0.3-6) X-Mailer:]]></description>
										<content:encoded><![CDATA[<p>X-Mailer: Ximian Evolution 2.3.1 (2.0.1-6)<br />
X-Mailer: The Bat! (v2.00.9) Personal<br />
X-Mailer: Apple Mail (2.552)<br />
X-Mailer: Ximian Evolution 1.0.3 (1.0.3-6)<br />
X-Mailer: Ximian Evolution 2.0.1 (2.0.1-6)<br />
X-Mailer: The Bat! (v2.00.3) Personal<br />
X-Mailer: Mailman v2.0.8<br />
X-Mailer: The Bat! (v2.00.9) Personal<br />
X-Mailer: Microsoft Outlook Express 6.00.2800.1158<br />
X-Mailer: MIME-tools 5.41 (Entity 5.404)<br />
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US;<br />
rv:1.5) Gecko/20030924 Thunderbird/0.3<br />
X-Mailer: Microsoft Outlook Express 6.00.2800.1158<br />
X-mailer: Pegasus Mail for Win32 (v3.12c)<br />
X-Mailer: Microsoft Outlook Express 6.00.2900.2180<br />
X-Mailer: Mutt 1.0.1i<br />
X-Mailer: Microsoft Office Outlook, Build 11.0.5510<br />
X-Mailer: Microsoft Outlook Express 6.00.2800.1158<br />
X-Mailer: Sylpheed version 0.7.6 (GTK+ 1.2.10; i686-pc-tommie-gnu)<br />
X-Mailer: Microsoft Outlook Express 6.00.2900.2180<br />
X-Mailer: Evolution/1.0-5mdk<br />
X-Mailer: IPB PHP Mailer<br />
X-Mailer: Microsoft Outlook Express 6.00.2800.1158<br />
X-Mailer: Microsoft Office Outlook, Build 11.0.5510</p>
<blockquote><p>Подмена X-Mailer от почтовых программ видна почтовым серверам, и скорее скажется негативно. <b>Assassin</b> скажет &#8212; Вы пытаетесь меня обмануть <img src="https://s.w.org/images/core/emoji/13.1.0/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>При этом на подмену X-Mailer на серверные &#171;программы&#187;, почтовые фильтры &#8212; &#171;молчат&#187;</p></blockquote>
<p>X-Mailer: MailChimp Mailer &#8212; **CIDcff534b183228338d78b**</p>
<p>User-Agent: Roundcube Webmail/1.0.12</p>
<div class="rcl-rating-box rating-type-post box-default"><div class="rating-wrapper"><span class="vote-heart"><i class="rcli fa-heartbeat" aria-hidden="true"></i></span><span class="rating-value"><span class="rating-null">0</span></span></div></div>]]></content:encoded>
					
					<wfw:commentRss>https://my-mails.ru/%d1%81%d0%bf%d0%b8%d1%81%d0%be%d0%ba-x-mailer-%d0%bf%d0%be%d1%87%d1%82%d0%be%d0%b2%d1%8b%d1%85-%d0%bf%d1%80%d0%be%d0%b3%d1%80%d0%b0%d0%bc%d0%bc/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Ошибка SMTP .. Time в mxtoolbox.com</title>
		<link>https://my-mails.ru/%d0%be%d1%88%d0%b8%d0%b1%d0%ba%d0%b0-smtp-time-%d0%b2-mxtoolbox-com/</link>
					<comments>https://my-mails.ru/%d0%be%d1%88%d0%b8%d0%b1%d0%ba%d0%b0-smtp-time-%d0%b2-mxtoolbox-com/#respond</comments>
		
		<dc:creator><![CDATA[my-mails.ru]]></dc:creator>
		<pubDate>Tue, 25 Dec 2018 06:07:31 +0000</pubDate>
				<category><![CDATA[DNS]]></category>
		<category><![CDATA[exim]]></category>
		<category><![CDATA[vesta cp]]></category>
		<guid isPermaLink="false">https://my-mails.ru/?p=2060</guid>

					<description><![CDATA[Предупреждения при тестировании SMTP в сервисе тестирования mxtoolbox.com : SMTP Connection Time 5.912 seconds &#8212; Warning on Connection time SMTP Transaction Time]]></description>
										<content:encoded><![CDATA[<p>Предупреждения при тестировании SMTP в сервисе тестирования <a href="https://mxtoolbox.com">mxtoolbox.com</a> :</p>
<table class="table table-striped table-bordered table-condensed tool-result-table">
<tbody>
<tr>
<td class="table-column-Status"><a href="https://mxtoolbox.com/problem/smtp/smtp-connection-time?page=prob_smtp&amp;action=smtp:95.46.8.193&amp;showlogin=1&amp;hidepitch=1&amp;hidetoc=0" target="_blank" rel="noopener"><img src="https://mxtoolbox.com/public/images/statusicons/warning.png" width="17" /></a></td>
<td class="table-column-Name">SMTP Connection Time</td>
<td class="table-column-Response">5.912 seconds &#8212; Warning on Connection time</td>
</tr>
</tbody>
</table>
<table class="table table-striped table-bordered table-condensed tool-result-table">
<tbody>
<tr>
<td class="table-column-Status"><a href="https://mxtoolbox.com/problem/smtp/smtp-transaction-time?page=prob_smtp&amp;action=smtp:95.46.8.193&amp;showlogin=1&amp;hidepitch=1&amp;hidetoc=0" target="_blank" rel="noopener"><img src="https://mxtoolbox.com/public/images/statusicons/warning.png" width="17" /></a></td>
<td class="table-column-Name">SMTP Transaction Time</td>
<td class="table-column-Response">8.524 seconds &#8212; Not good! on Transaction Time</td>
</tr>
</tbody>
</table>
<p>5.912 секунд &#8212; Предупреждение о времени соединения<br />
8.524 секунд &#8212; Не хорошо! на время транзакции</p>
<p><strong>При тесте SMTP сервера с установленной панелью vesta CP </strong></p>
<p>вызвана конфигурацией EXIM в VESTA CP &#8212; основанной на борьбе со спамерами</p>
<p>значение задержки установлено в /etc/exim/exim.conf и является значением по умолчанию</p>
<pre class="lang:default decode:true">rfc1413_query_timeout = 5s</pre>
<p>что бы понравиться mxtoolbox.com &#8212; можете установить значение 0</p>
<p><a href="https://forum.vestacp.com/viewtopic.php?t=4641">Оригинал статьи вопроса на официальном сайте vesta CP</a></p>
<div class="rcl-rating-box rating-type-post box-default"><div class="rating-wrapper"><span class="vote-heart"><i class="rcli fa-heartbeat" aria-hidden="true"></i></span><span class="rating-value"><span class="rating-null">0</span></span></div></div>]]></content:encoded>
					
					<wfw:commentRss>https://my-mails.ru/%d0%be%d1%88%d0%b8%d0%b1%d0%ba%d0%b0-smtp-time-%d0%b2-mxtoolbox-com/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Неудачное соединение с IMAP сервером</title>
		<link>https://my-mails.ru/%d0%bd%d0%b5%d1%83%d0%b4%d0%b0%d1%87%d0%bd%d0%be%d0%b5-%d1%81%d0%be%d0%b5%d0%b4%d0%b8%d0%bd%d0%b5%d0%bd%d0%b8%d0%b5-%d1%81-imap-%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80%d0%be%d0%bc/</link>
					<comments>https://my-mails.ru/%d0%bd%d0%b5%d1%83%d0%b4%d0%b0%d1%87%d0%bd%d0%be%d0%b5-%d1%81%d0%be%d0%b5%d0%b4%d0%b8%d0%bd%d0%b5%d0%bd%d0%b8%d0%b5-%d1%81-imap-%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80%d0%be%d0%bc/#respond</comments>
		
		<dc:creator><![CDATA[my-mails.ru]]></dc:creator>
		<pubDate>Fri, 23 Nov 2018 04:41:22 +0000</pubDate>
				<category><![CDATA[exim]]></category>
		<category><![CDATA[roundcube]]></category>
		<category><![CDATA[vesta cp]]></category>
		<category><![CDATA[Проблемы и ошибки]]></category>
		<guid isPermaLink="false">https://my-mails.ru/?p=1691</guid>

					<description><![CDATA[Неудачное соединение с IMAP сервером / roundcub / vesta cp Ошибка распространенная и много причинная, внезапно может появиться при обновлении]]></description>
										<content:encoded><![CDATA[<h3>Неудачное соединение с IMAP сервером / roundcub / vesta cp</h3>
<p>Ошибка распространенная и много причинная, внезапно может появиться при обновлении операционной системы сервера.</p>
<h2>Ищем ошибку</h2>
<p>Открываем в ssh консоли логи dovecot</p>
<pre class="lang:default decode:true">tail -f /var/log/dovecot.log</pre>
<p>После этого делаем попытку авторизоваться в Roundcube. В лог посыпятся сообщения, среди которых есть информация о нашей ошибки</p>
<p><strong>Initialization failed: namespace configuration error: inbox=yes namespace missing</strong><br />
<strong>Error: Invalid user settings. Refer to server log for more information.</strong></p>
<p>добавьте в <strong class="text-strong">/etc/dovecot/conf.d/15-mailboxes.conf</strong>:</p>
<p>После:<br />
namespace inbox {<br />
добавить inbox = yes</p>
<pre class="lang:default decode:true">Должно получиться так 
# NOTE: Assumes "namespace inbox" has been defined in 10-mail.conf.
namespace inbox {
inbox = yes
  #mailbox name {
    # auto=create will automatically create this mailbox.
    # auto=subscribe will both create and subscribe to the mailbox.
    #auto = no</pre>
<p>после чего перезагружаем dovecot</p>
<pre class="lang:default decode:true">service dovecot restart</pre>
<h3><a href="https://my-mails.ru/готовый-файл-15-mailboxes/">Скачать готовый файл 15-mailboxes</a></h3>
<div class="rcl-rating-box rating-type-post box-default"><div class="rating-wrapper"><span class="vote-heart"><i class="rcli fa-heartbeat" aria-hidden="true"></i></span><span class="rating-value"><span class="rating-null">0</span></span></div></div>]]></content:encoded>
					
					<wfw:commentRss>https://my-mails.ru/%d0%bd%d0%b5%d1%83%d0%b4%d0%b0%d1%87%d0%bd%d0%be%d0%b5-%d1%81%d0%be%d0%b5%d0%b4%d0%b8%d0%bd%d0%b5%d0%bd%d0%b8%d0%b5-%d1%81-imap-%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80%d0%be%d0%bc/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Смена имени хоста в CentOS</title>
		<link>https://my-mails.ru/%d1%81%d0%bc%d0%b5%d0%bd%d0%b0-%d0%b8%d0%bc%d1%8f-%d1%85%d0%be%d1%81%d1%82%d0%b0-%d0%b2-centos-7/</link>
		
		<dc:creator><![CDATA[my-mails.ru]]></dc:creator>
		<pubDate>Thu, 07 Jun 2018 04:20:58 +0000</pubDate>
				<category><![CDATA[exim]]></category>
		<category><![CDATA[Линукс]]></category>
		<category><![CDATA[Сервер]]></category>
		<category><![CDATA[hostname]]></category>
		<guid isPermaLink="false">https://my-mails.ru/?p=745</guid>

					<description><![CDATA[Проверить имя хоста hostname Нам пригодится редактор NANO yum install nano &#160;]]></description>
										<content:encoded><![CDATA[<h3>Проверить имя хоста</h3>
<pre class="lang:default decode:true ">hostname</pre>
<p>Нам пригодится редактор NANO</p>
<pre class="lang:default decode:true">yum install nano</pre>
<h4>CentOS 7 &amp; RHEL 7</h4>
<p>Чтобы изменить имя хоста навсегда в CentOS 7 воспользуйтесь следующей командой:</p>
<pre class="lang:default decode:true ">hostnamectl set-hostname NewHostName</pre>
<p>где <em>NewHostName</em> — это новое имя хоста.</p>
<p>В некоторых случаях, если вы используете виртуальный сервер, вам также потребуется отключить изменение <strong>hostname</strong> при загрузке с помощью команды:</p>
<pre class="lang:default decode:true ">scarletctl disable set-hostname</pre>
<p><span style="color: #ff0000;"><strong>если не поможет</strong></span> &#8212; запретить перезапись хоста можете следующей командой chattr +i путь/имя_файла</p>
<pre class="lang:default decode:true ">chattr +i /etc/hostname</pre>
<p>Чтобы все изменения вступили в силу желательно перезапустить службу (сервис) <strong>systemd-hostnamed</strong>:</p>
<pre class="lang:default decode:true ">systemctl restart systemd-hostnamed</pre>
<p>Чтобы увидеть имя хоста сервера в CentOS 7 воспользуйтесь командой <strong>hostnamectl</strong>:</p>
<p>hostnamectl status</p>
<p>Увидим:</p>
<p># hostnamectl status<br />
Static hostname: sitename.tld<br />
Icon name: computer-vm<br />
Chassis: vm<br />
Machine ID: ce4cc7f6d67d0056a8a68503a37d39ee<br />
Boot ID: 58599810ff8e4d6b882f4181b616ff46<br />
Virtualization: vmware<br />
Operating System: CentOS Linux 7 (Core)<br />
CPE OS Name: cpe:/o:centos:centos:7<br />
Kernel: Linux 3.10.0-327.10.1.el7.x86_64<br />
Architecture: x86-64</p>
<p><br />
<h4>CentOS 6</h4></p>
<p>Открываем файл network</p>
<pre class="lang:default decode:true">sudo nano /etc/sysconfig/network</pre>
<p>Измените аргумент HOSTNAME на имя хоста, которое вы хотите использовать.</p>
<p><span style="color: #808080;">Сохранить изменения в nano ctrl+x / ctrl+y</span></p>
<p>Открываем файл  hosts</p>
<pre class="lang:default decode:true">sudo nano /etc/hosts</pre>
<p>меняем domain1.ru на наш хостнайм<br />
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4<br />
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6<br />
185.58.207.29 domain1.ru<br />
2a02:f680:1:1100::3117 domain1.ru</p>
<pre class="">hostname domain1.ru</pre>
<p>Перезапустите сеть:</p>
<pre>service network restart</pre>
<p>Перелогиньтесь. После чего увидите новое имя хоста даже в приглашении bash.</p>
<p></p>

<p>&nbsp;</p>
<div class="rcl-rating-box rating-type-post box-default"><div class="rating-wrapper"><span class="vote-heart"><i class="rcli fa-heartbeat" aria-hidden="true"></i></span><span class="rating-value"><span class="rating-null">0</span></span></div></div>]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
