Guest User

Untitled

a guest
Mar 21st, 2018
275
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.40 KB | None | 0 0
  1. #!/run/current-system/sw/bin/bash
  2.  
  3. write_line() {
  4. sleep 0.1${RANDOM}
  5. echo "-> $*"
  6. echo "$*" >&99
  7. sleep 0.1${RANDOM}
  8. }
  9. get_last_reply() {
  10. sleep 1
  11. tail -1 ${MAILTMP}
  12. }
  13. make_mail() {
  14. FROM="$1"
  15. TO="$2"
  16. SUBJECT="$3"
  17. echo "Message-Id: <${RANDOM}${RANDOM}${RANDOM}${RANDOM}${RANDOM}@${HOSTNAME}>"
  18. echo "From: <${FROM}>"
  19. echo "To: <${TO}>"
  20. echo "Date: $(LANG=C date "+%a, %d %b %Y %H:%M:%S %z")"
  21. echo "Subject: ${SUBJECT}"
  22. echo ''
  23. echo 'Hallo Nina,'
  24. echo ''
  25. echo 'wie geht es dir?'
  26. echo ''
  27. echo 'Gruß'
  28. echo 'Daniel'
  29. }
  30. test_mail() {
  31. echo '####################### Next test'
  32. echo "########### FROM: ${FROM}"
  33. echo "########### TO: ${TO}"
  34. echo "########### SUBJECT: ${SUBJECT}"
  35. # Open the connection
  36. exec 99<>/dev/tcp/${SERVER}/smtp
  37. sed -e 's_^_<- _' <&99 &
  38. SEDPID=$!
  39. write_line "EHLO ${HOSTNAME}"
  40. write_line "MAIL FROM: <${FROM}>"
  41. write_line "RCPT TO: <${TO}>"
  42. write_line 'DATA'
  43. write_line "$(make_mail ${FROM} ${TO} "${SUBJECT}")"
  44. write_line '.'
  45. write_line 'QUIT'
  46. wait ${SEDPID}
  47. # Close the fd
  48. exec 99<&-
  49. }
  50.  
  51. if [ $# -gt 0 ]; then
  52. SERVER="$1"
  53. FROM="$2"
  54. TO="$3"
  55. SUBJECT="$4"
  56. test_mail
  57. exit
  58. fi
  59.  
  60. $0 myserver.mydomain.com valid_outside_email@example.org validuser@mydomain.com "Test 1: regular delivery"
  61. echo '####################### Expected result: 250 2.0.0 Ok: queued as'
  62. echo
  63.  
  64.  
  65.  
  66. $0 myserver.mydomain.com valid_outside_email@example.org someone@mydomain.com "Test 2: unknown user reject"
  67. echo '####################### Expected result: 550 5.1.1 <someone@mydomain.com>: Recipient address rejected: User unknown in virtual mailbox table'
  68. echo
  69.  
  70.  
  71.  
  72. $0 myserver.mydomain.com valid_outside_email@example.org root@myserver.mydomain.com "Test 3: local server users"
  73. echo '####################### Expected result: 554 5.7.1 <root@myserver.mydomain.com>: Relay access denied'
  74. echo
  75.  
  76.  
  77.  
  78. $0 myserver.mydomain.com valid_outside_email@example.org root@localhost "Test 4: localhost users"
  79. echo '####################### Expected result: 554 5.7.1 <root@localhost>: Relay access denied'
  80. echo
  81.  
  82.  
  83.  
  84. $0 myserver.mydomain.com valid_outside_email@example.org root@myserver.mydomain.com "Test 5: local users"
  85. echo '####################### Expected result: 554 5.7.1 <root@myserver.mydomain.com>: Relay access denied'
  86. echo
  87.  
  88.  
  89.  
  90. $0 myserver.mydomain.com valid_outside_email@example.org elsewhere@example.com "Test 6: relay access test"
  91. echo '####################### Expected result: 554 5.7.1 <elsewhere@example.com>: Relay access denied'
  92. echo
Add Comment
Please, Sign In to add comment