php腳本發送郵件。這個話題貌似已經被寫濫了。本身親手實踐一下。作一個記錄。php
官網地址是git
http://phpmailer.worxware.com/ github
到git上下載ide
https://github.com/PHPMailer/PHPMailerui
#cd PHPMailer/spa
# ls -alhcssl
total 248Kit
drwxr-xr-x 8 root root 4.0K Aug 27 10:54 .io
drwxr-xr-x 3 root root 4.0K Aug 27 10:54 ..function
-rw-r--r-- 1 root root 22K Aug 27 10:54 changelog.md
-rw-r--r-- 1 root root 95K Aug 27 10:54 class.phpmailer.php
-rw-r--r-- 1 root root 11K Aug 27 10:54 class.pop3.php
-rw-r--r-- 1 root root 33K Aug 27 10:54 class.smtp.php
#!/usr/bin/php
<?php
array_shift($_SERVER['argv']);
if(count($_SERVER['argv']) != 3){
echo "Usage:php_mailer.php MAIL_TO SUBJECT MAINBODY";
exit;
}
#echo $_SERVER['argv'][0].chr(10);
$pattern = "/^([0-9A-Za-z\\-_\\.]+)@([0-9a-z]+\\.[a-z]{2,3}(\\.[a-z]{2})?)$/i";
if(!preg_match($pattern,$_SERVER['argv'][0])){
echo "not emailaddress".chr(10);
exit;
}
$mail_to=$_SERVER['argv'][0];
$mail_subject=$_SERVER['argv'][1];
$mail_body=$_SERVER['argv'][2];
function php_send_mail($mail_to,$mail_subject='',$mail_body=''){
require_once("./PHPMailer/class.phpmailer.php");
require_once("./PHPMailer/class.smtp.php");
$mail=new PHPMailer();
$mail->Charset = "UTF-8";
$mail->IsSmTP();
$mail->SMTPDebug = 1;
$mail->SMTPAuth = true;
$mail->SMTPSecure = "ssl";
$mail->Host = "smtp.gmail.com";
$mail->Port = 465;
$mail->Username = "yzhkpli@gmail.com";
$mail->Password = "密碼";
$mail->SetFrom('yzhkpli@gmail.com', 'My gmail');
$mail->AddReplyTo("yzhkpli@163.com","yzhkpli");
$mail->IsHTML = true;
$mail->Subject = $subject;
$mail->Body = eregi_replace("[\]",'',$mail_body);
$mail->AltBody = "爲了查看該郵件,請切換到支持 HTML 的郵件客戶端";
$mail->MsgHTML($mail->Body);
#$address=$to
$mail->AddAddress($mail_to,'my qq');
if(!$mail->Send()) {
echo "發送失敗:" . $mail->ErrorInfo;
exit;
} else {
echo "恭喜,郵件發送成功!";
}
}
php_send_mail($mail_to,$mail_subject,$mail_body);
?>