PHPmailer 函数从 PHP 发送邮件
PHPmailer Function Send Mail from PHP
所以我正在 html 中处理联系表格,并将其链接到 sendmail.php 文件,因为我仍处于早期过程,我正在测试字段是否为空 echo something.. . 什么都没有出现。请检查我的代码,它仍处于早期阶段,恐怕我错过了一些东西:
HTML
<form action="sendmail.php" method="post" >
<table width="101" border="0">
<tr>
<th scope="col">Full Name:</th>
</tr>
<tr>
<th width="95" scope="col"><input type="text" name="name" id="to" placeholder="Full Name" /></th><!-- -->
</tr>
<tr>
<th scope="row">Telephone:</th>
</tr>
<tr>
<th scope="row"><input type="text" name="telephone" id="telephone"placeholder="Telephone" />
</tr>
<tr>
<th scope="row">Subject:</th>
</tr>
<tr>
<th scope="row"><input type="text" name="subject" id="subject" placeholder="Subject" /></th>
</tr>
<tr>
<th scope="row">Message:</th>
</tr>
<tr>
<th scope="row"><textarea name="body" id="body" cols="45" rows="5" placeholder="Message"></textarea></th>
</tr>
<tr>
<th scope="row"> </th>
</tr>
<tr>
<th scope="row"><input type="submit" name="submit" id="submit" value="Submit" /></th>
</tr>
</table>
</form>
PHP
<?php
session_start();
require_once 'libs/phpmailer/PHPMailerAutoload.php/';
$errors = array();
//if values are null echo null values
//in my case i kept null on purpose to see if working
//getting nothing
if(isset($_POST['name'],$_POST['telephone'],$_POST['subject'],$_POST['body']))
{
echo 'Null values';
}
?>
编辑:
require_once 'libs/phpmailer/PHPMailerAutoload.php/';
试试这个?
require_once 'libs/phpmailer/PHPMailerAutoload.php';
据我所知,你没有要求做某事。
这可能有效(全部在一个文件中,无需创建第二个文件)
<?
if($_SERVER['REQUEST_METHOD']=="POST")
{
if(strlen($_POST['name']) == 0)
{ $error_msg ="- Please, provide us with your name.<br>"; }
if(strlen($_POST['*****WHATEVER*****']) == 0)
{ $error_msg ="- Fill in your problem :D.<br>"; }
if(!empty($error_msg))
{
echo "<b>Your message can't be send due to the following reason:</b> <br><br>";
echo $error_msg;
echo "<br>Click on <a href='javascript:history.back(1)'>Go back</a> and provide us with your name.<br><br>";
}
else
{
$recipient = "WHO NEEDS TO RECEIVE???";
$subject = "Subject, can be filled in via input field if you like";
$header = "From: " . $_POST['email'] . "\n";
$mail_body = "Contact script was used on " . date("d-m-Y") . " at " . date("H:i") . "h.\n";
$mail_body .= "Text you like to read:\n";
$mail_body .= "Name: " . $_POST['name'] . "\n";
$mail_body .= "\n\n -- End of contact --";
mail($recipient, $subject, $mail_body, $header);
print "Your mail is sent and whatever you like to tell them ;)";
}
}
else
{
?>
<form action="<? echo $_SERVER['PHP_SELF']; ?>" method="POST" name="contact">
******Then add your tables and label them as you please.****
你的线路
if(isset($_POST['name'],$_POST['telephone'],$_POST['subject'],$_POST['body'])){....}
应该是
if(!isset($_POST['name'],$_POST['telephone'],$_POST['subject'],$_POST['body'])){.....}
提交输入类型的文本永远不会 NULL
。
所以我正在 html 中处理联系表格,并将其链接到 sendmail.php 文件,因为我仍处于早期过程,我正在测试字段是否为空 echo something.. . 什么都没有出现。请检查我的代码,它仍处于早期阶段,恐怕我错过了一些东西:
HTML
<form action="sendmail.php" method="post" >
<table width="101" border="0">
<tr>
<th scope="col">Full Name:</th>
</tr>
<tr>
<th width="95" scope="col"><input type="text" name="name" id="to" placeholder="Full Name" /></th><!-- -->
</tr>
<tr>
<th scope="row">Telephone:</th>
</tr>
<tr>
<th scope="row"><input type="text" name="telephone" id="telephone"placeholder="Telephone" />
</tr>
<tr>
<th scope="row">Subject:</th>
</tr>
<tr>
<th scope="row"><input type="text" name="subject" id="subject" placeholder="Subject" /></th>
</tr>
<tr>
<th scope="row">Message:</th>
</tr>
<tr>
<th scope="row"><textarea name="body" id="body" cols="45" rows="5" placeholder="Message"></textarea></th>
</tr>
<tr>
<th scope="row"> </th>
</tr>
<tr>
<th scope="row"><input type="submit" name="submit" id="submit" value="Submit" /></th>
</tr>
</table>
</form>
PHP
<?php
session_start();
require_once 'libs/phpmailer/PHPMailerAutoload.php/';
$errors = array();
//if values are null echo null values
//in my case i kept null on purpose to see if working
//getting nothing
if(isset($_POST['name'],$_POST['telephone'],$_POST['subject'],$_POST['body']))
{
echo 'Null values';
}
?>
编辑:
require_once 'libs/phpmailer/PHPMailerAutoload.php/';
试试这个?
require_once 'libs/phpmailer/PHPMailerAutoload.php';
据我所知,你没有要求做某事。 这可能有效(全部在一个文件中,无需创建第二个文件)
<?
if($_SERVER['REQUEST_METHOD']=="POST")
{
if(strlen($_POST['name']) == 0)
{ $error_msg ="- Please, provide us with your name.<br>"; }
if(strlen($_POST['*****WHATEVER*****']) == 0)
{ $error_msg ="- Fill in your problem :D.<br>"; }
if(!empty($error_msg))
{
echo "<b>Your message can't be send due to the following reason:</b> <br><br>";
echo $error_msg;
echo "<br>Click on <a href='javascript:history.back(1)'>Go back</a> and provide us with your name.<br><br>";
}
else
{
$recipient = "WHO NEEDS TO RECEIVE???";
$subject = "Subject, can be filled in via input field if you like";
$header = "From: " . $_POST['email'] . "\n";
$mail_body = "Contact script was used on " . date("d-m-Y") . " at " . date("H:i") . "h.\n";
$mail_body .= "Text you like to read:\n";
$mail_body .= "Name: " . $_POST['name'] . "\n";
$mail_body .= "\n\n -- End of contact --";
mail($recipient, $subject, $mail_body, $header);
print "Your mail is sent and whatever you like to tell them ;)";
}
}
else
{
?>
<form action="<? echo $_SERVER['PHP_SELF']; ?>" method="POST" name="contact">
******Then add your tables and label them as you please.****
你的线路
if(isset($_POST['name'],$_POST['telephone'],$_POST['subject'],$_POST['body'])){....}
应该是
if(!isset($_POST['name'],$_POST['telephone'],$_POST['subject'],$_POST['body'])){.....}
提交输入类型的文本永远不会 NULL
。