REM ************************************************************ REM * REM * Demonstration on how to implement a Simple Mail REM * Transfer Protocol client. REM * REM * A logfile with the responses of the SMTP server REM * is created to "log.txt". REM * REM * Use an existing mail address for RCPT, and REM * fill in an existing mailserver. Ready. REM * REM * (c) January 23, 2003, Peter van Eerten. REM * REM ************************************************************ IMPORT ssocket.bas GLOBAL CONST nl = "\r\n" REM Make connection to the mailserver smtp = ssocket::connect("mail", 25) REM Connection was successfull IF smtp > 0 THEN OPEN "log.txt" FOR OUTPUT AS 1 PRINT #1, "Connection established.", nl ssocket::write(smtp, "HELO localhost\r\n", SS_STREAM) PRINT #1, ssocket::read(smtp, SS_STREAM) ssocket::write(smtp, "MAIL FROM: \r\n", SS_STREAM) PRINT #1, ssocket::read(smtp, SS_STREAM) ssocket::write(smtp, "RCPT TO: \r\n", SS_STREAM) PRINT #1, ssocket::read(smtp, SS_STREAM) ssocket::write(smtp, "DATA\r\n", SS_STREAM) PRINT #1, ssocket::read(smtp, SS_STREAM) ssocket::write(smtp, "From: Scriptbasic \r\n", SS_STREAM) ssocket::write(smtp, "To: Family \r\n", SS_STREAM) ssocket::write(smtp, "Reply-To: Test \r\n", SS_STREAM) ssocket::write(smtp, "User-Agent: Scriptbasic Mail Client\r\n", SS_STREAM) ssocket::write(smtp, "Subject: Welcome home\r\n", SS_STREAM) ssocket::write(smtp, nl, SS_STREAM) ssocket::write(smtp, "I wish you a welcome home!\r\n", SS_STREAM) ssocket::write(smtp, ".\r\n", SS_STREAM) PRINT #1, ssocket::read(smtp, SS_STREAM) ssocket::write(smtp, "QUIT\r\n", SS_STREAM) PRINT #1, ssocket::read(smtp, SS_STREAM) ssocket::disconnect(smtp) CLOSE 1 ELSE PRINT "Unable to connect to mailserver!\n" ENDIF