通过我的网站后,用户可以通过电子邮件向我发送文件和简要说明。但是,一旦我的网站用户点击了提交按钮,他就会转到一个页面,上面写着"这个网页不可用"而且我没有收到电子邮件。
我一直在网站的这一部分使用PHP和HTML,但我不知道它为什么不起作用。
PHP
<?php
mail('Example@gmail.com', $_POST['Subject'], $_POST['Content']);
?>
HTML
<form method="post" action="email.php">
<input type="file">
<input type="text">
Content Goes Here
<br>
<br>
<input type="Submit">
</form>
答案 0 :(得分:0)
尝试使用类似libmail
类的内容来发送电子邮件,在大多数情况下,它可以解决问题。
即使在使用libmail
后,您也会遇到问题,请尝试使用SMTP
和libmail。
欢呼声。
当然,这是使用示例:
使用此链接http://webi.ru/base/files/tovar/php_libmail_2_1.zip
下载php_libmail课程然后使用此代码:
<?php
include "libmail.php"; // including the class
$m= new Mail; // create instance
$m->From( "asd@asd.com" ); // from
$m->To( "who@asad.com" ); // to
$m->Subject( "Subject zzz" ); // subject
$m->Body( "Hey, pal" ); // body
$m->Cc( "copy@asd.com"); // copy of email, if need
$m->Bcc( "bcopy@asd.com"); // hidden copy of email, if need
$m->Priority(3) ; // priority of message, i think from 1 to 5
$m->Attach( "asd.gif","", "image/gif" ) ; // attachment, if need
$m->smtp_on( "smtp.asd.com", "login", "password" ) ; // via SMTP, if need
$m->Send(); // And the magic Send ;)
echo "Message body:<br><pre>", $m->Get(), "</pre>";
?>
对于您需要的make功能,只需创建带有enctype="multipart/form-data"
属性的简单HTML表单,并添加您想要的任何字段,文件,输入,文本,以及其中任何一个。
然后在你的PHP脚本中通过全局$ _POST变量接受这些字段值并将接受的值传递给libmail实例;)
对于接受的文件,使用全局$ _FILES变量。
答案 1 :(得分:0)
您只需使用PHP Mailer发送任何邮件即可。 这是一种非常有用且简单的方法。
代码就像 -
<?php
require_once "vendor/autoload.php";
//PHPMailer Object
$mail = new PHPMailer;
//From email address and name
$mail->From = "from@yourdomain.com";
$mail->FromName = "Full Name";
//To address and name
$mail->addAddress("recepient1@example.com", "Recepient Name");
$mail->addAddress("recepient1@example.com"); //Recipient name is optional
//Address to which recipient will reply
$mail->addReplyTo("reply@yourdomain.com", "Reply");
//CC and BCC
$mail->addCC("cc@example.com");
$mail->addBCC("bcc@example.com");
//Send HTML or Plain Text email
$mail->isHTML(true);
$mail->Subject = "Subject Text";
$mail->Body = "<i>Mail body in HTML</i>";
$mail->AltBody = "This is the plain text version of the email content";
if(!$mail->send())
{
echo "Mailer Error: " . $mail->ErrorInfo;
}
else
{
echo "Message has been sent successfully";
}
Here是一个说明性的例子。