這可能很長,所以我很抱歉。用Gmail發送郵件SMTP(修復某人的代碼)
最近我決定嘗試修復計算機實驗室用來發送電子郵件的代碼。它曾經工作,直到他們最近嘗試更改發送電子郵件地址。我的問題?我對這種類型的編碼以及他們改變了哪些代碼知之甚少。我發現他們用來發送郵件的功能。我希望有人能夠幫助我指出什麼是問題。或者我可以改變它以使其工作。我想這是因爲密碼從來沒有被要求。但是我不明白編寫這段代碼的人究竟做了什麼。
這是我正在查看的代碼。
function SendMail($ToName, $ToEmail, $FromName, $FromEmail, $Subject, $Body, $Header)
{
$SMTP = fsockopen("smtp.gmail.com", 465);
$InputBuffer = fgets($SMTP, 1024);
fputs($SMTP, "HELO $smtp.gmail.com\n");
$InputBuffer = fgets($SMTP, 1024);
fputs($SMTP, "MAIL From: $FromEmail\n");
$InputBuffer = fgets($SMTP, 1024);
fputs($SMTP, "RCPT To: $ToEmail\n");
$InputBuffer = fgets($SMTP, 1024);
fputs($SMTP, "DATA\n");
$InputBuffer = fgets($SMTP, 1024);
fputs($SMTP, "$Header");
fputs($SMTP, "From: $FromName <$FromEmail>\n");
fputs($SMTP, "To: $ToName <$ToEmail>\n");
fputs($SMTP, "Subject: $Subject\n\n");
fputs($SMTP, "$Body\r\n.\r\n");
fputs($SMTP, "QUIT\n");
$InputBuffer = fgets($SMTP, 1024);
fclose($SMTP);
}
他們按下一個按鈕,它發送電子郵件。或至少運行該功能。 我發現當他們按下某個變量的按鈕時會被調用。其他變量從存儲個人信息的數據庫中調用。 (改變了電子郵件到一個隨機發布此問題。)
$fname = mysql_result($results, 0, "fname");
$FromName = "Support Center";
$FromEmail = "[email protected]";
$Subject = "Computer Finished";
$Body = "Your computer is fixed.";
$Header = "Computer";
會有人能夠給可能指向我的方向是正確的。或者有人可以解釋如何讓程序輸出錯誤信息?我搜索了一下,發現有關它的話題,但我仍然迷失。因爲我是新手,所以只寫一個新代碼而不嘗試修復它會更好嗎?任何幫助真的很感謝,因爲我是這種類型的代碼的一個小新手。我可以閱讀並理解它,但是...我不明白深入的功能。
我很感謝你的回答。感謝您試圖幫助我,這正是我一直在尋找的。但我仍然有點害怕。 如果我改變了功能... 功能的SendMail(){ 這裏 *所有默認PHPMailer的信息* } ,如果我填寫默認PHPMailer的信息應該發送一封電子郵件隨時撥打我關於函數SendMail是否正確? 我知道我需要從不同的.php頁面調用某些變量。我需要的兩個變量是$ ToName和$ ToEmail。電子郵件和名稱取決於哪些工作訂單已打開。所以唯一不能解決的是電子郵件和姓名。 – 2015-04-01 18:19:05