在网站上,我有一个包含一些字段和一个文件上传控件的表单。填好的表格应与上传的照片一起发送到电子邮箱。
我只有FTP
访问网络服务器。我试过但mail()
功能不起作用,好像被管理员阻止了。
由于我只有FTP
,因此我无法在实时服务器上执行任何安装命令。因此,根据我的知识,不可能安装Pear包。我一直只和CPanel合作过。
我已经尝试过PHPMailer库,但它也没有使用以下测试代码:
require 'PHPMailerAutoload.php';
$mail = new PHPMailer;
$mail->setFrom('admin@test.com', 'Your Name');
$mail->addAddress('testemail@gmail.com', 'My Friend');
$mail->Subject = 'First PHPMailer Message';
$mail->Body = 'Hi! This is my first e-mail sent through PHPMailer.';
if(!$mail->send()) {
echo 'Message was not sent.';
echo 'Mailer error: ';
} else {
echo 'Message has been sent.';
}
提交表格,它说
websitename
花了太长时间才回复。
ERR_CONNECTION_TIMED_OUT
现在,我在localhost上尝试它 我从这个url下载了PHPMailer库: PHPMailer
我将zip文件解压缩到我的项目文件夹中。 PHPMailer包含文件夹src。现在更新的代码如下:
require 'src/PHPMailer.php';
$mail = new PHPMailer();
$mail->setFrom('admin@test.com', 'Your Name');
$mail->addAddress('testemail@gmail.com', 'My Friend');
$mail->Subject = 'First PHPMailer Message';
$mail->Body = 'Hi! This is my first e-mail sent through PHPMailer.';
if(!$mail->send()) {
echo 'Message was not sent.';
echo 'Mailer error: ';
} else {
echo 'Message has been sent.';
}
我得到的错误是:
致命错误:未找到“PHPMailer”类
现在我已尝试使用本地服务器上的PHPMailer 5.2.0以及使用以下代码通过FTP(我没有Cpanel访问权限)访问实时服务器:
require 'class.phpmailer.php';
try {
$mail = new PHPMailer(true); //New instance, with exceptions enabled
$body = "helo";
$mail->IsSMTP(); // tell the class to use SMTP
$mail->SMTPAuth = true; // enable SMTP authentication
$mail->Port = 25; // set the SMTP server port
$mail->Host = "mail.testserver.com"; // SMTP server
$mail->Username = "mail@testserver.com"; // SMTP server username
$mail->Password = "mypass"; // SMTP server password
$mail->IsSendmail(); // tell the class to use Sendmail
$mail->AddReplyTo("mail@testserver.com","First Last");
$mail->From = "mail@testserver.com";
$mail->FromName = "First Last";
$to = "targetuser@gmail.com";
$mail->AddAddress($to);
$mail->Subject = "First PHPMailer Message";
$mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test
$mail->WordWrap = 80; // set word wrap
$mail->MsgHTML($body);
$mail->IsHTML(true); // send as HTML
$mail->Send();
echo 'Message has been sent.';
} catch (phpmailerException $e) {
echo $e->errorMessage();
}
使用这段代码,我的新错误是:
无法执行:/ var / qmail / bin / sendmail
我该如何解决这个问题?