Installing a PEAR Package - Mail Package
(Page 4 of 5 )
The last package that we will install and look at is the Mail package. This package is used to send email from PHP. I’ve written a small HTML form that will take information such as the message body, subject and recipient email address. Below is the code:
<?php
//is form submitted
if(isset($_POST['key'])){
require "Mail.php";
//collect the information
$from=$email;
$cc=$_POST['cc'];
$bcc=$_POST['bcc'];
if(empty($_POST['tos'])){
$error=true;
}else{
$to=$_POST['tos'];
}
if(empty($_POST['sub'])){
$error=true;
}else{
$subject=$_POST['sub'];
}
if(empty($_POST['msg'])){
$error=true;
}else{
$msg=$_POST['msg'];
}
//check if the an attachment is present
if(isset($_FILES['userfile']['name'])){
$attachment = $_FILES['userfile']['tmp_name'], $_FILES['userfile']['name'];
$headers =“Content-disposition: attachment;
$filename=.$attachment."n";
$headers=.Content-Transfer-Encoding: base64n”;
}
if(!$error){
$mail = Mail::factory('mail');
$mail->send($to, $headers, $msg);
}
if(!$res){
echo "Mail error occurred";
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>
<body>
<span class="style2">Sending Mail With PHP</span>
<form name="form1" method="post" action="untitled2.php">
<table width="100%" border="0" class="block">
<tr>
<td width="10%" valign="top"><strong>To</strong></td>
<td width="90%"><input name="tos" type="text" id="to" size="70" value="david@web.com"/></td>
</tr>
<tr>
<td valign="top"><strong>Cc</strong></td>
<td><input name="cc" type="text" id="cc" size="70" /></td>
</tr>
<tr>
<td valign="top"><strong>Bcc</strong></td>
<td><input name="bcc" type="text" id="bcc" size="70" /></td>
</tr>
<tr>
<td valign="top"><strong>Subject</strong></td>
<td><input name="sub" type="text" id="sub" size="70" />
<input type="hidden" name="hkey" /></td>
</tr>
<tr>
<td valign="top"><strong>Attachment</strong></td>
<td>
<input name="userfile" type="file" id="userfile" size="70" /></td>
</tr>
<tr>
<td valign="top"><strong>Message:</strong></td>
<td><label>
<textarea name="msg" cols="50" rows="10"></textarea>
</label></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" name="submit" value="Send Message" />
</td>
</tr>
</table>
</form>
</body>
</html>
The HTML form collects the various bits of information such as the body of the message, the subject and the recipient address, that are required by the mail class. It also takes attachments as indicated below:
<table width="100%" border="0" class="block">
<tr>
<td width="10%" valign="top"><strong>To</strong></td>
<td width="90%"><input name="tos" type="text" id="to" size="70" value="david@web.com"/></td>
</tr>
<tr>
<td valign="top"><strong>Cc</strong></td>
<td><input name="cc" type="text" id="cc" size="70" /></td>
</tr>
<tr>
<td valign="top"><strong>Bcc</strong></td>
<td><input name="bcc" type="text" id="bcc" size="70" /></td>
</tr>
<tr>
<td valign="top"><strong>Subject</strong></td>
<td><input name="sub" type="text" id="sub" size="70" />
<input type="hidden" name="hkey" /></td>
</tr>
<tr>
<td valign="top"><strong>Attachment</strong></td>
<td>
<input name="userfile" type="file" id="userfile" size="70" /></td>
</tr>
<tr>
<td valign="top"><strong>Message:</strong></td>
<td><label>
<textarea name="msg" cols="50" rows="10"></textarea>
</label></td>
</tr>
Next: More Mail! >>
More PEAR Articles Articles
More By David Web