This script developed to send notifications (as well html and attachment) to server admin through gmail account:
#!/usr/bin/php <?php /* Please make sure, you have installed following pear modules: pear install Mail pear install Net_SMTP pear install Mail_mime pear install Mail_mimeDecode IMPORTANT: Works only with utf-8 charset!!! */ $mailru_user = "YOUR_USER@gmail.com"; $mailru_passwd = "YOUR_PASS"; $to = '<TO_SERVER_ADMIN@gmail.com>'; require_once "Mail.php"; require_once('Mail/mime.php'); if(empty($argv[1]))exit("USAGE: $argv[0] 'Hello, how are you?' 'some text' '<h1>some html text</h1>' '/tmp/attachment.txt'"); function mail_via_gmail($subject,$text,$html,$file){ global $mailru_user; $from = '<'.$mailru_user.'>'; global $mailru_passwd; global $to; $crlf = "\r\n"; if( empty($to) ){ echo 'Please specify $to parameter'; exit(); } if( empty( $subject ) ) $subject = ''; if( empty( $text ) ) $text = ''; if( empty( $html ) ) $html = ''; if( empty( $file ) ) $file = ''; $headers = array( 'From' => $from, 'To' => $to, 'Subject' => $subject, 'Content-Type' => 'text/html; charset=UTF-8' ); $mime_params = array( 'text_encoding' => '7bit', 'text_charset' => 'UTF-8', 'html_charset' => 'UTF-8', 'head_charset' => 'UTF-8' ); $mime = new Mail_mime($crlf); $mime->setTXTBody($text); $mime->setHTMLBody($html); $mime->addAttachment($file,'application/octet-stream'); $body = $mime->get($mime_params); $headers = $mime->headers($headers); $smtp = Mail::factory('smtp', array( 'host' => 'ssl://smtp.gmail.com', 'port' => '465', 'auth' => true, 'username' => $mailru_user, 'password' => $mailru_passwd )); $mail = $smtp->send($to, $headers, $body); if (PEAR::isError($mail)) { echo('<p>' . $mail->getMessage() . '</p>'); } else { echo("Message successfully sent!\n"); } } @mail_via_gmail($argv[1],$argv[2],$argv[3],$argv[4]); ?>
works with mail.ru too. Originally was made for mail.ru
ReplyDelete