PHP Code:
<?php
$to = 'myname@yahoo.ie';
$message = 'hello';
$subject = 'News';
win_mail($to, $subject, $message, $headers);
function win_mail($to, $subject, $message, $headers = NULL, $username = 'uname', $password = 'pword', $mailserver = NULL)
{
function error($error, $connect = NULL)
{
if(isset($_GET['debug']))print $error; // comment this out once you get the script working
if(!empty($connect)){
fputs($connect,"QUIT\r\n");
fclose($connect);
}
return FALSE;
} // end function error()
if(isset($headers)){
foreach(explode("\n", $headers) as $v){
if(eregi('from:', $v) and eregi('@', $v)){
$from = TRUE;
$mail_from = $v;
if(preg_match('/<(.+?)>/', $mail_from, $match)){
$mail_from = $match['1'];
}else{
$mail_from = trim(trim(strstr($mail_from, ':'), ':'));
}
}
}
}
if(empty($mail_from)) $mail_from = ini_get('sendmail_from');
if(empty($mail_from)) $mail_from ='php-mailer@'.$_SERVER['HTTP_HOST'];
if(empty($from)) {$from = "From: $mail_from\n";}else{$from = NULL;}
if(empty($headers))$headers = '';
$message = "Date: ".date('D, d M Y H:i:s O')."\n".$from."To: ".$to."\nSubject: ".$subject."\n".$headers."\n\n".$message;
if(!isset($mailserver))$mailserver = ini_get('SMTP');
if(!$connect = @fsockopen($mailserver, 25, $errno, $errstr, 5)) return(error('Could not connect to mail server'));
stream_set_timeout($connect, 10);
if (!ereg("^220", fgets($connect, 1024)))return(error('No 220', $connect));
fputs ($connect, "EHLO [127.0.0.1]\r\n");
$out = fgets ( $connect, 1024 );
while(!ereg('^250', $out)&&(!empty($out)))
{
stream_set_timeout($connect, 0, 5000);
$out = fgets ( $connect, 1024 );
stream_set_timeout($connect, 5);
}
for($tries = 15; $tries > 0; $tries--)
{
if(ereg('^250', $out))
{
if(eregi('AUTH=LOGIN|AUTH LOGIN', $out))$auth_login = TRUE;
$for_loop_hop = $out;
}elseif(empty($out))
{
usleep(100000);
}
stream_set_timeout($connect, 0, 5000);
$out = fgets($connect, 1024);
stream_set_timeout($connect, 5);
}
if(!ereg('^250', $for_loop_hop))return(error('No 250', $connect));
if(!isset($auth_login))return(error('No AUTH LOGIN'));
fputs ($connect, "AUTH LOGIN\r\n");
if (!ereg("^334", fgets($connect, 1024)))return(error('No 334 (username)', $connect));
fputs ($connect, base64_encode($username)."\r\n");
if (!ereg("^334", fgets($connect, 1024)))return(error('No 334 (password)', $connect));
fputs ($connect, base64_encode($password)."\r\n");
if (!ereg("^235", fgets($connect, 1024)))return(error('No 235 (not authenticated)', $connect));
fputs ($connect, "MAIL FROM: <{$mail_from}>\r\n");
if (!ereg("^250", fgets($connect, 1024)))return(error('No 250 (after MAIL FROM:)', $connect));
fputs ($connect, "RCPT TO: <{$to}>\r\n");
if (!ereg("^250", fgets($connect, 1024)))return(error('No 250 (after RCPT TO:)', $connect));
fputs($connect,"DATA\r\n");
stream_set_timeout($connect,20);
if (!ereg("^354", fgets($connect,512)))return(error('No 354 (Enter mail)', $connect));
fputs($connect, "$message\r\n.\r\n");
if (!ereg("^250", fgets($connect,512)))return(error('No 250 (End of mail)', $connect));
fputs($connect,"QUIT\r\n");
fclose($connect);
return TRUE;
}
?>
Bookmarks