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