Это может быть долгим, поэтому я сожалею.Отправка почты с помощью 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";
ли кто-нибудь сможет, возможно, мне точку в правильном направлении. Или кто-то может объяснить, как сделать программу выводом сообщения об ошибке? Я googled вокруг и нашел темы, говорящие об этом, но я все еще потерян. Было бы лучше просто написать новый код и даже не попытаться исправить его, так как я новичок? Любая помощь действительно ценится, так как я немного новичок в этом типе кода. Я могу это прочитать и понять, но ... я не понимаю глубинные функции.
Я ценю ваш ответ. Спасибо, что пытались мне помочь, это именно то, что я искал. Но я все еще немного потерял, я боюсь. Если изменить функцию ... функция SendMail() { * все данные PHPMailer по умолчанию здесь * } и если я заполнить данные PHPMailer по умолчанию он должен отправить по электронной почте в любое время, я называю на функции SendMail правильно? Я знаю, что мне нужно вызывать определенные переменные с разных страниц .php. Мне нужны две переменные $ ToName и $ ToEmail. Адрес электронной почты и имя зависят от того, какой рабочий заказ открыт. Таким образом, единственное, что не может быть исправлено, - это адрес электронной почты и имя. –