Config Forwarding Email Exim
Cara membuat email forwarding dengan Exim Server.
Setelah selama seminggu pusing dengan cara membuat forward email, inilah hasil yang telah sukses.
Alasan saya menggunakan Exim karena untuk mengatur forward email pada exim sangatlah mudah.
karena begitu data diubah, otomatis langsung terupdate tanpa harus melakukan restart/reload.
Install Exim.
Setelah berhasil install, ubah file exim.conf
cari dan ganti dengan ini:
domainlist local_domains = @ : localhost : dsearch;/etc/exim/virtual
Kemudian pada bagian begin routers tambahkan ini:
virtual_aliases:
driver = redirect
allow_defer
allow_fail
domains = dsearch;/etc/exim/virtual
data = ${expand:${lookup{$local_part}lsearch*@{/etc/exim/virtual/$domain}}}
retry_use_local_part
pipe_transport = address_pipe
file_transport = address_file
no_more
Selanjutnya buat folder /etc/exim/virtual/
Pada folder ini nantinya akan berisi file dengan nama domain
Contoh:
Forward email [email protected] ke [email protected]
Forward email [email protected] ke [email protected]
Forward email [email protected] ke pipe untuk proses autoreply
Set default email di forward ke [email protected]
maka buat file xtrsyz.org pada folder /etc/exim/virtual/
pada file tersebut tambahkan seperti berikut:
contact: [email protected] satria: [email protected] autoreply: "|php -q /home/user/pipe.php" *: [email protected]
Forward email [email protected] ke [email protected]
Forward email [email protected] ke [email protected]
maka buat file mig33.us pada folder /etc/exim/virtual/
pada file tersebut tambahkan seperti berikut:
admin: [email protected] support: [email protected]
Berikut contoh file exim.conf yang telah jadi
#primary_hostname =
domainlist local_domains = @ : localhost : dsearch;/etc/exim/virtual
domainlist relay_to_domains =
hostlist relay_from_hosts = 127.0.0.1
acl_smtp_mail = acl_check_mail
acl_smtp_rcpt = acl_check_rcpt
acl_smtp_data = acl_check_data
acl_smtp_mime = acl_check_mime
tls_advertise_hosts = *
tls_certificate = /etc/pki/tls/certs/exim.pem
tls_privatekey = /etc/pki/tls/private/exim.pem
daemon_smtp_ports = 25 : 465 : 587
tls_on_connect_ports = 465
never_users = root
host_lookup = *
auth_advertise_hosts =
rfc1413_hosts = *
rfc1413_query_timeout = 2s
ignore_bounce_errors_after = 2d
timeout_frozen_after = 7d
begin acl
acl_check_mail:
deny condition = ${if eq{$sender_helo_name}{} {1}}
message = Nice boys say HELO first
warn condition = ${if eq{$sender_host_name}{} {1}}
set acl_m_greylistreasons = Host $sender_host_address lacks reverse DNS\n$acl_m_greylistreasons
accept
acl_check_rcpt:
accept hosts = :
control = dkim_disable_verify
deny message = Restricted characters in address
domains = +local_domains
local_parts = ^[.] : ^.*[@%!/|]
deny message = Restricted characters in address
domains = !+local_domains
local_parts = ^[./|] : ^.*[@%!] : ^.*/\\.\\./
accept local_parts = postmaster
domains = +local_domains
require verify = sender
accept hosts = +relay_from_hosts
control = submission
control = dkim_disable_verify
accept authenticated = *
control = submission
control = dkim_disable_verify
require message = relay not permitted
domains = +local_domains : +relay_to_domains
require verify = recipient
accept
acl_check_data:
warn condition = ${if !def:h_Message-ID: {1}}
set acl_m_greylistreasons = Message lacks Message-Id: header. Consult RFC2822.\n$acl_m_greylistreasons
accept
acl_check_mime:
deny message = Blacklisted file extension detected
condition = ${if match \
{${lc:$mime_filename}} \
{\N(\.exe|\.pif|\.bat|\.scr|\.lnk|\.com)$\N} \
{1}{0}}
accept
begin routers
virtual_aliases:
driver = redirect
allow_defer
allow_fail
domains = dsearch;/etc/exim/virtual
data = ${expand:${lookup{$local_part}lsearch*@{/etc/exim/virtual/$domain}}}
retry_use_local_part
pipe_transport = address_pipe
file_transport = address_file
no_more
dnslookup:
driver = dnslookup
domains = ! +local_domains
transport = remote_smtp
ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
no_more
system_aliases:
driver = redirect
allow_fail
allow_defer
data = ${lookup{$local_part}lsearch{/etc/aliases}}
file_transport = address_file
pipe_transport = address_pipe
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
localuser:
driver = accept
check_local_user
transport = local_delivery
cannot_route_message = Unknown user
begin transports
remote_smtp:
driver = smtp
remote_msa:
driver = smtp
port = 587
hosts_require_auth = *
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
file = /var/mail/$local_part
delivery_date_add
envelope_to_add
return_path_add
group = mail
mode = 0660
address_pipe:
driver = pipe
return_output
address_file:
driver = appendfile
delivery_date_add
envelope_to_add
return_path_add
address_reply:
driver = autoreply
begin retry
* * F,2h,15m; G,16h,1h,1.5; F,4d,6h
begin rewrite
begin authenticators
Leave a Reply