【发布时间】:2015-06-05 13:54:10
【问题描述】:
这可能会很长,所以很抱歉。
最近我决定尝试修复计算机实验室用来发送电子邮件的代码。在他们最近尝试更改发送电子邮件地址之前,它一直有效。我的问题?我对这种类型的编码以及它们更改了哪些代码知之甚少。我找到了他们用来发送邮件的功能。我希望有人可以帮助我指出问题所在。或者我可以改变什么来使它工作。我在想这是因为从不要求密码。但我不明白写这段代码的人到底在做什么。
这是我正在查看的代码。
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 = "JonStevens93@hotmail.com";
$Subject = "Computer Finished";
$Body = "Your computer is fixed.";
$Header = "Computer";
谁能指出我正确的方向。或者有人可以解释一下如何让程序输出错误信息吗?我用谷歌搜索并找到了谈论它的话题,但我仍然迷路了。因为我是新手,所以只编写一个新代码甚至不尝试修复它会更好吗?任何帮助都非常感谢,因为我对这种类型的代码还是个新手。我可以阅读并理解它,但是......我不了解深度功能。
【问题讨论】:
标签: php function email smtp fsockopen