I am using sendmail in perl and noticed (after much banging of head against wall) that when the script is run at the command line it needs you to leave out the \n(s) after your e-mail and the recipient’s email address in order to format the mail correctly, but when running via CGI if those \n(s) aren’t there it returns an error stating that the recipient’s e-mail is malformed.
Has anyone else encountered this? What are the two doing differently?
In a couple of your comments you mention that you’re running the script from the command line with the -l option (perl -l foo.cgi).
The -l option enables automatic line-ending processing, and as your problem is with line endings, I suggest you try it without the -l.