Get STDOUT into a variable

batch-file, dos, email

Solution

Yes, you need to execute sendmail through the for loop:

for /f "tokens=*" %%a in ('[sendmail command line]') do (
    set VAR=%%a
)

After this runs, VAR will be set to the last line that sendmail output. You can then do processing on that line

for /f "tokens=5,* delims= " %%a in (%VAR%) do (
    if "%%b"=="Email was sent successfully!" (
        echo SUCCESS
        exit /b 0
    ) else (
        echo FAILURE
        exit /b 1
    )
)

Problem

Im using sendemail in a batch file. At the end of sending an email it replys with a message of succses or failure. For example ``` Jan 10 00:46:54 villa sendemail[456]: Email was sent successfully! ``` Is it possible to capture this message into a variable for processing? Thx

Original source