通过提交按钮发送电子邮件的问题

时间:2015-07-05 00:11:16

标签: php html email submit-button

通过我的网站后,用户可以通过电子邮件向我发送文件和简要说明。但是,一旦我的网站用户点击了提交按钮,他就会转到一个页面,上面写着"这个网页不可用"而且我没有收到电子邮件。

我一直在网站的这一部分使用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>

2 个答案:

答案 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是一个说明性的例子。