1/02/2010

Sending email in PHP script using SMTP command

#To connect to server. The fsocketopn will time out after 300
#seconds if the connection failed. The $errno and $errstr
#will contain the error number and the error message if an
#error happens.
$smtp_server = fsockopen("mail.mydomain.com", 25, $errno, $errstr, 300);

if(!$smtp_server){
echo "$errstr ($errno)\r\n";
}

#The fgets() in the areas where the SMTP server will reply your client, the script will then
#wait for the server and not just flood it with data.
$inn = fgets($smtp_server, 1024);

fputs($smtp_server, "HELO mail.mydomain.com\r\n");
$inn = fgets($smtp_server, 1024);

fputs($smtp_server, "MAIL FROM: \r\n");
$inn = fgets($smtp_server, 1024);

fputs($smtp_server, "RCPT TO: \r\n");
$inn = fgets($smtp_server, 1024);

fputs($smtp_server, "DATA\r\n");
$inn = fgets($smtp_server, 1024);

fputs($smtp_server, "From: \r\n");
fputs($smtp_server, "To: \r\n");
fputs($smtp_server, "Subject: Downloads\r\n");
fputs($smtp_server, "\r\n");
fputs($smtp_server, $message."\r\n");
fputs($smtp_server, ".\r\n");
$inn = fgets($smtp_server, 1024);

fputs($smtp_server, "QUIT\n");
$inn = fgets($smtp_server, 1024);

fclose($smtp_server);

沒有留言: