exim-docker/tools/smtp-dialog.exp

69 lines
1.3 KiB
Plaintext
Raw Normal View History

2025-02-28 21:14:33 +01:00
#!/usr/bin/expect
package require base64
# SMTP-Server und Port definieren
2025-03-17 20:25:33 +01:00
set smtp_server "172.16.3.33"
2025-02-28 21:14:33 +01:00
set smtp_port "25"
set timeout 25
# Absender, Empfänger und Nachricht
set sender $env(SMTP_SENDER)
2025-03-17 20:25:33 +01:00
set recipient $env(SMTP_RECIPIENT)
2025-02-28 21:14:33 +01:00
set message "Subject: Test Email\r\n\r\nThis is a test email sent via an expect script."
set smtp_user $env(SMTP_USER)
set smtp_pass $env(SMTP_PASS)
set smtp_user_64 [base64::encode $smtp_user]
set smtp_pass_64 [base64::encode $smtp_pass]
# Verbindung herstellen
spawn nc -C $smtp_server $smtp_port
# Begrüßung vom Server erwarten
expect "220 *"
# HELO/EHLO senden
2025-03-17 20:25:33 +01:00
send "EHLO baikonur\n"
2025-02-28 21:14:33 +01:00
expect "250 *"
2025-03-17 20:25:33 +01:00
if {[info exists smtp_user] && $smtp_user ne ""} {
send "AUTH LOGIN\n"
expect "334 VXNlcm5hbWU6"
2025-02-28 21:14:33 +01:00
2025-03-17 20:25:33 +01:00
send "$smtp_user_64\n"
expect "334 UGFzc3dvcmQ6"
2025-02-28 21:14:33 +01:00
2025-03-17 20:25:33 +01:00
send "$smtp_pass_64\n"
expect "235 2.7.0 Authentication successful"
} else {
puts "skip authentication"
}
2025-02-28 21:14:33 +01:00
# Absender definieren
send "MAIL FROM:<$sender>\n"
expect "250 *"
# Empfänger definieren
send "RCPT TO:<$recipient>\n"
expect "250 *"
# Datenübertragung starten
send "DATA\n"
expect "354 *"
# Nachricht senden und Übertragung abschließen
send "$message\n.\n"
expect "250 *"
# Verbindung schließen
send "QUIT\n"
expect "221 *"
# Beenden
interact