Issue
Ketika ingin mengirimkan email ke alamat seperti gmail.com
, yahoo.com
, atau tujuan lainnya, pesan email tidak berhasil terkirim, dan di log Exim muncul pesan error berikut.
2024-07-31 05:26:38 1sZ1rC-000f4v-1Y <= [email protected] H=(localhost) [127.0.0.1] P=esmtpa A=dovecot_login:[email protected] S=1661 [email protected] T="Pengiriman email gento ke gmail" for [email protected]
2024-07-31 05:26:38 cwd=/var/spool/exim 3 args: /usr/local/apps/exim/bin/exim -Mc 1sZ1rC-000f4v-1Y
2024-07-31 05:26:38 1sZ1rC-000f4v-1Y H=gmail-smtp-in.l.google.com [2404:6800:4003:c0f::1b] Cannot assign requested address
2024-07-31 05:26:38 1sZ1rC-000f4v-1Y H=alt1.gmail-smtp-in.l.google.com [2607:f8b0:400e:c00::1a] Cannot assign requested address
2024-07-31 05:26:38 1sZ1rC-000f4v-1Y H=alt2.gmail-smtp-in.l.google.com [2607:f8b0:4023:c0b::1b] Cannot assign requested address
2024-07-31 05:26:38 1sZ1rC-000f4v-1Y H=alt3.gmail-smtp-in.l.google.com [2607:f8b0:4023:1004::1a] Cannot assign requested address
2024-07-31 05:26:38 1sZ1rC-000f4v-1Y H=alt4.gmail-smtp-in.l.google.com [2607:f8b0:4003:c04::1a] Cannot assign requested address
2024-07-31 05:26:38 1sZ1rC-000f4v-1Y == [email protected] R=lookuphost T=remote_smtp defer (99): Cannot assign requested address
2024-07-31 05:27:59 1sZ1rC-000f4v-1Y H=gmail-smtp-in.l.google.com [142.251.10.26] Cannot assign requested address
2024-07-31 05:27:59 1sZ1rC-000f4v-1Y H=alt1.gmail-smtp-in.l.google.com [2607:f8b0:400e:c00::1b] Cannot assign requested address
2024-07-31 05:27:59 1sZ1rC-000f4v-1Y H=alt2.gmail-smtp-in.l.google.com [2607:f8b0:4023:c0b::1a] Cannot assign requested address
2024-07-31 05:27:59 1sZ1rC-000f4v-1Y == [email protected] R=lookuphost T=remote_smtp defer (99): Cannot assign requested address
2024-07-31 05:40:19 1sZ1rC-000f4v-1Y == [email protected] R=lookuphost T=remote_smtp defer (-54): retry time not reached for any host for 'gmail.com'
2024-07-31 05:41:24 1sZ1rC-000f4v-1Y == [email protected] R=lookuphost T=remote_smtp defer (-54): retry time not reached for any host for 'gmail.com'
2024-07-31 06:11:22 1sZ1rC-000f4v-1Y H=gmail-smtp-in.l.google.com [2404:6800:4003:c1a::1a] Cannot assign requested address
2024-07-31 06:11:22 1sZ1rC-000f4v-1Y H=gmail-smtp-in.l.google.com [74.125.24.26] Cannot assign requested address
Solution
Masalah ini sering terjadi pada VPS atau instance yang menggunakan IP public floating. Langkah pertama yang perlu dilakukan adalah memastikan tidak ada kesalahan pada konfigurasi IP.
# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc fq_codel state UP group default qlen 1000
link/ether fa:16:3e:08:ff:5c brd ff:ff:ff:ff:ff:ff
altname enp0s3
altname ens3
inet 192.168.200.247/24 brd 10.80.200.255 scope global dynamic noprefixroute eth0
valid_lft 73492sec preferred_lft 73492sec
Selanjutnya periksa konfigurasi remote_smtp
pada file exim.conf
.
remote_smtp:
driver = smtp
dkim_domain = ${lc:${domain:$h_from:}}
dkim_selector = x
dkim_private_key = /var/webuzo-data/mail/dkim/private/${perl{untaint}{${dkim_domain}}}
dkim_canon = relaxed
interface = <; ${if exists {/etc/mailips}{${lookup{$sender_address_domain}lsearch{/etc/mailips}{$value}{}}}{}}
helo_data = ${if exists {/etc/mailhelo}{${lookup{$sender_address_domain}lsearch{/etc/mailhelo}{$value}{$primary_hostname}}}{$primary_hostname}}
message_linelength_limit = 2048
Pada bagian interface
dikonfigurasi agar dapat menentukan alamat IP atau interface yang digunakan untuk mengirimkan email sesuai dengan domain pengirim jika file konfigurasi /etc/mailips
tersedia.
Sehingga dari sini kita hanya perlu memastikan domain telah diarahkan ke IP yang benar.
# cat /etc/mailips
example.com: 192.168.200.247
example.online: 192.168.200.247
Anda dapat mengetesnya dengan perintah berikut.
exim -be '${lookup{example.com}lsearch{/etc/mailips}{$value}{}}'
Restart service exim untuk menerapkan perubahan, lalu test kirim email kembali.
systemctl restart exim