SMTP errorcode 13 seems to indicate "Permission denied (13)".
Did you try the exact example with:
SMTP.MailFrom(MailFrom, Length(MailFrom))
You might want to change that in this and see if it helps.
SMTP.MailFrom(MailFrom, 0)
Also... in case of error you could also try to print SMTP.FullResult[0] just to see if there is data in it.
So something like:
if not SMTP.MailFrom(MailFrom, 0) then
begin
Form1.Memo1.Append('SMTP ERROR: MailFrom:' + SMTP.EnhCodeString);
Form1.Memo1.append('-- Remote response: ' + SMTP.FullResult.Text);
end
else
begin
Form1.Memo1.Append('SMTP MailFrom: OK');
Form1.Memo1.append('-- Remote response: ' + SMTP.FullResult[0]);
end;
BTW. The Size parameter for SMTP.MailFrom() should NEVER be the size of the From address. It should be the size of the entire mail or 0 (if the server can determine this itself). This is a really common made mistake.