No Global IP whitelist - fixing failed auth response hang, fixing sender authentication.
This commit is contained in:
+85
-44
@@ -1,69 +1,110 @@
|
||||
#!/bin/bash
|
||||
sender="test@example.com"
|
||||
receiver="info@example.com"
|
||||
password="testpass123"
|
||||
EMAIL_SERVER="localhost" #"pymta.example.com" "localhost"
|
||||
EMAIL_SERVER_auth="10.100.111.1" # IP for authenticated server ( not localhost), use your main interface ip
|
||||
|
||||
sender="test@example.com"
|
||||
username="test@example.com"
|
||||
password="ZjDvcjPSs-nwK2Ghj5vQY7L4LdmTpmn_AEZMokJTFS" # password you setup for the user!
|
||||
domain="example.com"
|
||||
body_content_file="@tests/email_body.txt"
|
||||
SMTP_PORT=4025
|
||||
SMTP_TLS_PORT=40587
|
||||
cc_recipient="targetcc@example.com"
|
||||
bcc_recipient="targetbcc@example.com"
|
||||
SMTP_TLS_PORT=40465
|
||||
cc_recipient="ccrecipient@example.com"
|
||||
bcc_recipient="bccrecipient@example.com"
|
||||
|
||||
<<com
|
||||
# Setup domain and user via web interface first
|
||||
# Visit http://localhost:5000/email to configure:
|
||||
# - Add domain: $domain
|
||||
# - Add user: $sender with password $password
|
||||
# - Add IP whitelist: 127.0.0.1 and 10.100.111.1
|
||||
# - Generate DKIM key for domain
|
||||
python -m email_server.cli_tools add-domain $domain
|
||||
python -m email_server.cli_tools add-user $username $password $domain
|
||||
python -m email_server.cli_tools add-ip 127.0.0.1 $domain
|
||||
python -m email_server.cli_tools add-ip 213.249.224.235 $domain
|
||||
python -m email_server.cli_tools generate-dkim $domain
|
||||
python -m email_server.cli_tools add-custom-header $domain X-Auth-Token "abc123-example-auth"
|
||||
python -m email_server.cli_tools add-custom-header $domain X-Server-ID "mail01.example.com"
|
||||
|
||||
# options to add CC and BCC recipients for swaks
|
||||
--cc $cc_recipient
|
||||
--bcc $bcc_recipient
|
||||
com
|
||||
|
||||
swaks --to $receiver \
|
||||
--from $sender \
|
||||
--server localhost \
|
||||
--server $EMAIL_SERVER \
|
||||
--port $SMTP_TLS_PORT \
|
||||
--auth LOGIN \
|
||||
--auth-user $sender \
|
||||
--auth-user $username \
|
||||
--auth-password $password \
|
||||
--tls \
|
||||
--header "Subject: TLS - Large body email" \
|
||||
--body $body_content_file \
|
||||
--attach tests/email_body.txt \
|
||||
--attach tests/Hello.jpg
|
||||
--body $body_content_file
|
||||
# --attach @/home/nahaku/Documents/Projects/SMTP_Server/tests/email_body.txt
|
||||
# --attach @/home/nahaku/Documents/Projects/SMTP_Server/tests/Hello.jpg
|
||||
|
||||
swaks --to $receiver \
|
||||
--from $sender \
|
||||
--server localhost \
|
||||
--port $SMTP_PORT \
|
||||
--auth LOGIN \
|
||||
--auth-user $sender \
|
||||
--auth-password $password \
|
||||
--data "Subject: Test Email - authenticated\n\nThis is the message body."
|
||||
|
||||
swaks --to $receiver \
|
||||
--from $sender \
|
||||
--server localhost \
|
||||
--port $SMTP_TLS_PORT \
|
||||
--auth LOGIN \
|
||||
--auth-user $sender \
|
||||
--auth-password $password \
|
||||
--tls \
|
||||
--data "Subject: Test via STARTTLS - authenticated\n\nThis is the body."
|
||||
|
||||
swaks --to $receiver \
|
||||
--from $sender \
|
||||
--server localhost \
|
||||
--port $SMTP_TLS_PORT \
|
||||
--tls \
|
||||
--data "Subject: Test via STARTTLS - no auth\n\nThis is the body."
|
||||
com
|
||||
<<com
|
||||
|
||||
com
|
||||
swaks --to $receiver \
|
||||
--from $sender \
|
||||
--server localhost \
|
||||
--server $EMAIL_SERVER \
|
||||
--port $SMTP_PORT \
|
||||
--data "Subject: Test Email - no auth\n\nThis is the message body."
|
||||
--auth LOGIN \
|
||||
--auth-user $username \
|
||||
--auth-password $password \
|
||||
--data "Subject: SMTP - authenticated success\n\nThis is the message body."
|
||||
|
||||
# Test with Authentication TLS
|
||||
swaks --to $receiver \
|
||||
--from $sender \
|
||||
--server $EMAIL_SERVER \
|
||||
--port $SMTP_TLS_PORT \
|
||||
--auth LOGIN \
|
||||
--auth-user $username \
|
||||
--auth-password $password \
|
||||
--tls \
|
||||
--header "Subject: TLS - authenticated success" \
|
||||
--body "This is the message body with proper headers."
|
||||
|
||||
# Test TLS + authentication and IP whitelist
|
||||
swaks --to $receiver \
|
||||
--from $sender \
|
||||
--server $EMAIL_SERVER_auth \
|
||||
--port $SMTP_TLS_PORT \
|
||||
--auth LOGIN \
|
||||
--auth-user $username \
|
||||
--auth-password $password \
|
||||
--tls \
|
||||
--data "Subject: TLS - auth + IP Whitelist \n\nTest TLS + authentication and IP whitelist"
|
||||
|
||||
|
||||
# Test with IP authentication TLS
|
||||
swaks --to $receiver \
|
||||
--from $sender \
|
||||
--server $EMAIL_SERVER_auth \
|
||||
--port $SMTP_TLS_PORT \
|
||||
--tls \
|
||||
--data "Subject: TLS - IP Whitelist - no auth\n\nTest with IP authentication TLS"
|
||||
|
||||
# Test with IP authentication SMTP
|
||||
swaks --to $receiver \
|
||||
--from $sender \
|
||||
--server $EMAIL_SERVER_auth \
|
||||
--port $SMTP_PORT \
|
||||
--data "Subject: SMTP - IP Whitelist - no auth\n\nTest with IP authentication SMTP"
|
||||
|
||||
|
||||
<<com
|
||||
com
|
||||
# SMTP un-auth test "Email_server - no Whitelist - no auth"
|
||||
swaks --to $receiver \
|
||||
--from $sender \
|
||||
--server $EMAIL_SERVER \
|
||||
--port $SMTP_PORT \
|
||||
--data "Subject: SMTP - no Whitelist - no auth\n\nSMTP un-auth test Email_server - no Whitelist - no auth."
|
||||
|
||||
# Test TLS un-auth test "Email_server - no Whitelist - no auth"
|
||||
swaks --to $receiver \
|
||||
--from $sender \
|
||||
--server $EMAIL_SERVER \
|
||||
--port $SMTP_TLS_PORT \
|
||||
--tls \
|
||||
--data "Subject: TLS - no Whitelist - no auth\n\nTest TLS un-auth test Email_server - no Whitelist - no auth"
|
||||
Reference in New Issue
Block a user