Go Back   Novahq.net Forum > phphq.Net > phphq.Net Forums

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 04-29-2011, 07:38 PM
Tustaste is offline Tustaste
Registered User

Join Date: Apr 2011
Posts: 4

Sending email through SMPT?

Hello,

To prevent falling into the spam box

For phMailer.php

How do I send by SMTP?


Regards

Sorry, English is bad
Reply With Quote
  #2  
Old 05-06-2011, 03:09 PM
Tustaste is offline Tustaste
Registered User

Join Date: Apr 2011
Posts: 4

PHP Code:
<?php


// This will show in the browsers title bar and at the top of the form.
$websitename="Your Website"

// Allowed file types. Please remember to keep the format of this array, add the file extensions you want
// WITHOUT the dot. Please also be aware that certain file types (such as exe) may contain malware.
$allowtypes=array("zip""rar""txt""doc""jpg""png""gif""bmp");

// What's your email address? Seperate email addresses with commas for multiple email addresses.
$myemail="your_email@domain.com";

// What priority should the script send the mail? 1 (Highest), 2 (High), 3 (Normal), 4 (Low), 5 (Lowest).
$priority="3"

// Should we allow visitors to attach files? How Many? 0 = Do not allow attachments,
// 1 = allow only 1 file to be attached, 2 = allow two files etc.
$allowattach="1"

// Maximum file size for attachments in KB NOT Bytes for simplicity. MAKE SURE your php.ini can handel it,
// post_max_size, upload_max_filesize, file_uploads, max_execution_time!
// 2048kb = 2MB,       1024kb = 1MB,     512kb = 1/2MB etc..
$max_file_size="1024";

// Maximum file size for all attachments combined in KB. MAKE SURE your php.ini can handel it,
// post_max_size, upload_max_filesize, file_uploads, max_execution_time!
// 2048kb = 2MB,       1024kb = 1MB,     512kb = 1/2MB etc..
$max_file_total="2048";

// Value for the Submit Button
$submitvalue=" Send Email "

// Value for the Reset Button
$resetvalue=" Reset Form ";

// Default subject? This will be sent if the user does not type in a subject
$defaultsubject="No Subject"

// Because many requested it, this feature will add a drop down box for the user to select a array of
// subjects that you specify below. 
// True = Use this feature, False = do not use this feature
$use_subject_drop=false;

// This is an array of the email subjects the user can pick from. Make sure you keep the format of
// this array or you will get errors.
// Look at <http://novahq.net/forum/showthread.php?t=38718> for examples on how to use this feature.
$subjects=array("Department 1""Department 2""Department 3");

// This is an array of the email addresses for the array above. There must be an email FOR EACH
// array value specified above. You can have only 1 department if you want.
// YOU MUST HAVE THE SAME AMMOUNT OF $subjects and $emails or this WILL NOT work correctly!
// The emails also must be in order for what you specify above!
// Seperate email addresses by a comma to send an email to multiple addresses.
$emails=array("dept_1@domain.com""dept_2@domain.com""dept_3@domain.com");

// This is the message that is sent after the email has been sent. You can use html here.
// If you want to redirect users to another page on your website use this:
// <script type=\"text/javascript\">window.location=\"http://www.YOUR_URL.com/page.html\";</script>
$thanksmessage="Thank you! Your email has been sent, we will respond shortly."

/*
//================================================================================
* ! ATTENTION !
//================================================================================
: Don't edit below this line.
*/

// Function to get the extension of the uploaded file.
function get_ext($key) { 
    
$key=strtolower(substr(strrchr($key"."), 1));
    
$key=str_replace("jpeg""jpg"$key);
    return 
$key;
}

// Function used to attach files to the message
function phattach($file$name$boundary) {
    
    
$fp=fopen($file"r");
    
$str=fread($fpfilesize($file));
    
$str=chunk_split(base64_encode($str));
    
$message="--".$boundary."\n";
    
$message.="Content-Type: application/octet-stream; name=\"".$name."\"\n";
    
$message.="Content-disposition: attachment; filename=\"".$name."\"\n"
    
$message.="Content-Transfer-Encoding: base64\n";
    
$message.="\n";
    
$message.="$str\n";
    
$message.="\n";

    return 
$message;
}

//Little bit of security from people forging headers. People are mean sometimes :(
function clean_msg($key) {
    
$key=str_replace("\r"""$key);
    
$key=str_replace("\n"""$key);
    
$find=array(
        
"/bcc\:/i",
        
"/Content\-Type\:/i",
        
"/Mime\-Type\:/i",
        
"/cc\:/i",
        
"/to\:/i"
    
);
  
$key=preg_replace($find""$key);
  return 
$key;
}

// Initilize some variables
$error="";
$sent_mail=false;

// When the form is submitted
If($_POST['submit']==true) {
    
extract($_POSTEXTR_SKIP);
        
    require_once(
'../class.phpmailer.php');
    

        
// Check the form for errors
        
If(trim($yourname)=="") { 
            
$error.="You did not enter your name!<br />";
        }
        
        If(
trim($youremail)=="") { 
            
$error.="You did not enter your email!<br />";
        } Elseif(!
preg_match("/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,})+$/"$youremail)) {
            
$error.="Invalid email address.<br />";
        }

        If(
trim($emailsubject)=="") {
            
$emailsubject=$defaultsubject;
        }

        If(
trim($yourmessage)=="") { 
            
$error.="You did not enter a message!<br />";
        }
        
        
// Verify Attchment info
        
If($allowattach 0) {
            
            
// Get the total size of all uploaded files
            
If((array_sum($_FILES['attachment']['size'])) > ($max_file_total*1024)) {
                
                
$error.="The max size allowed for all your files is ".$max_file_total."kb<br />";
                
            } Else {

                
//Loop through each of the files
                
For($i=0$i <= $allowattach-1$i++) {
                    
                    If(
$_FILES['attachment']['name'][$i]) {
    
                        
//Check if the file type uploaded is a valid file type. 
                        
If(!in_array(get_ext($_FILES['attachment']['name'][$i]), $allowtypes)) {
                            
                            
$error.= "Invalid file type for your file: ".$_FILES['attachment']['name'][$i]."<br />";
                            
                        
//Check the size of each file
                        
} Elseif(($_FILES['attachment']['size'][$i]) > ($max_file_size*1024)) {
                            
                            
$error.= "Your file: ".$_FILES['attachment']['name'][$i]." is to big.<br />";
                            
                        } 
// If in_array
                        
                    
// If Files
                    
                
// For
                
            
// Else array_sum($_FILES['attachment']['size'])
            
        
// If Allowattach

    
If($error) {
    
        
$display_message=$error;

    } Else {
        
        If(
$use_subject_drop AND is_array($subjects) AND is_array($emails)) {
            
$subject_count=count($subjects);
            
$email_count=count($emails);
            
            If(
$subject_count==$email_count) {
                
                
$myemail=$emails[$emailsubject];
                
$emailsubject=$subjects[$emailsubject];

            } 
// If $subject_count
            
        
// If $use_subject_drop

        //Message

  
$message = new PHPMailer(true); // the true param means it will throw exceptions on errors, which we need to catch

  
$message->IsSMTP(); // telling the class to use SMTP

   // try {
  
$message->Host       "mail.yourdomain.com"// SMTP server
  
$message->SMTPDebug  2;                     // enables SMTP debug information (for testing)
  
$message->SMTPAuth   true;                  // enable SMTP authentication
  
$message->SMTPSecure "ssl";                 // sets the prefix to the servier
  
$message->Host       "smtp.gmail.com";      // sets GMAIL as the SMTP server
  
$message->Port       465;                   // set the SMTP port for the GMAIL server
  
$message->Username   "$myemail";  // GMAIL username
  
$message->Password   "yourpassword";            // GMAIL password
  
$message->AddReplyTo("$myemail"'First Last');
  
$message->AddAddress("$myemail"'John Doe');
  
$message->AddBCC("$youremail"'John Doe');
  
$message->SetFrom("$myemail"'First Last');
  
$message->AddReplyTo("$myemail"'First Last');
  
$message->Subject 'PHPMailer Test Subject via mail(), advanced';
  
$message->AltBody 'To view the message, please use an HTML compatible email viewer!'// optional - MsgHTML will create an alternate automatically
  
$message->MsgHTML("$yourmessage");
 
        
//Add attachments to message
        
If($allowattach 0) {
            
            For(
$i=0$i <= $allowattach-1$i++) {
                
                If(
$_FILES['attachment']['tmp_name'][$i]) {
                    
                    
$message->AddAttachment($_FILES['attachment']['tmp_name'][$i], $_FILES['attachment']['name'][$i]);

                    
                } 
//If $_FILES['attachment']['name'][$i]
                
            
//For
            
        
// If
        

        
            
$sent_mail=true;
            
$message->Send();
            

    } 
// Else

// If($_POST['submit']==true) {

/*
//================================================================================
* Start the form layout
//================================================================================
:- Use the html below to customize the form.
*/
?>
<!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" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Language" content="tr_TR" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9" />
<title><?php echo $websitename?> - Powered By phMailer</title>

<style type="text/css">
    body{
        background-color:#FFFFFF;
        font-family: Verdana, Arial, sans-serif;
        font-size: 12pt;
        color: #000000;
    }
    
    .error_message{
        font-family: Verdana, Arial, sans-serif;
        font-size: 11pt;
        color: #FF0000;
    }
    
    .thanks_message{
        font-family: Verdana, Arial, sans-serif;
        font-size: 11pt;
        color: #000000;
    }
    
    a:link{
        text-decoration:none;
        color: #000000;
    }
    a:visited{
        text-decoration:none;
        color: #000000;
    }
    a:hover{
        text-decoration:none;
        color: #000000;
    }
    
    .table {
        border-collapse:collapse;
        border:1px solid #000000;
        width:500px;
    }
    
    .table_header{
        border:1px solid #070707;
        background-color:#C03738;
        font-family: Verdana, Arial, sans-serif;
        font-size: 11pt;
        font-weight:bold;
        color: #FFFFFF;
        text-align:center;
        padding:2px;
    }
    
    .attach_info{
        border:1px solid #070707;
        background-color:#EBEBEB;
        font-family: Verdana, Arial, sans-serif;
        font-size: 8pt;
        color: #000000;
        padding:4px;
    }
    
    
    .table_body{
        border:1px solid #070707;
        background-color:#EBEBEB;
        font-family: Verdana, Arial, sans-serif;
        font-size: 10pt;
        color: #000000;
        padding:2px;
    }
    
    .table_footer{
        border:1px solid #070707;
        background-color:#C03738;
        text-align:center;
        padding:2px;
    }
    
    input,select,textarea {
        font-family: Verdana, Arial, sans-serif;
        font-size: 10pt;
        color: #000000;
        background-color:#AFAEAE;
        border:1px solid #000000;
    }
    
    .copyright {
        border:0px;
        font-family: Verdana, Arial, sans-serif;
        font-size: 9pt;
        color: #000000;
        text-align:right;
    }
    
    form{
        padding:0px;
        margin:0px;
    }
</style>

<script type="text/javascript">
var error="";
e_regex = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,})+$/;

function Checkit(theform) {
    if(theform.yourname.value=="") {
        error+="You did not enter your name\n";
    }
    
    if(theform.youremail.value=="") {
        error+="You did not enter your email\n";
    } else if(!e_regex.test(theform.youremail.value)) {
        error+="Invalid email address\n";
    }
        
    if(theform.yourmessage.value=="") {
        error+="You did not enter your message\n";
    }
    
    if(error) {
        alert('**The form returned the following errors:**\n\n' + error);
        error="";
        return false;
    } else {
        return true;
    }
}
</script>

</head>
<body>
<?If($display_message) {?>

<div align="center" class="error_message"><b><?=$display_message;?></b></div>
<br />

<?}?>

<?If($sent_mail!=true) {?>

<form method="post" action="<?=$_SERVER['PHP_SELF'];?>" enctype="multipart/form-data" name="phmailer" onsubmit="return Checkit(this);">
<table align="center" class="table">
    <tr>
        <td colspan="2" class="table_header" width="100%"><?=$websitename;?></td>
    </tr>
    <?If($allowattach 0) {?>
        <tr>
            <td width="100%" class="attach_info" colspan="2">
                <b>Valid Attachment Types:</b> <?=implode($allowtypes", ");?><br />
                <b>Max size per file:</b> <?=$max_file_size?>kb.<br />
                <b>Max combined file size:</b> <?=$max_file_total?>kb.
            </td>
        </tr>
    <?}?>
    
    <tr>
        <td width="30%" class="table_body">Your Name:</td>
        <td width="70%" class="table_body"><input name="yourname" type="text" size="30" value="<?=stripslashes(htmlspecialchars($yourname));?>" /><span class="error_message">*</span></td>
    </tr>
    <tr>
        <td width="30%" class="table_body">Your Email:</td>
        <td width="70%" class="table_body"><input name="youremail" type="text" size="30" value="<?=stripslashes(htmlspecialchars($youremail));?>" /><span class="error_message">*</span></td>
    </tr>
    <tr>
        <td width="30%" class="table_body">Subject:</td>
        <td width="70%" class="table_body">
        
            <?If($use_subject_drop AND is_array($subjects)) {?>
                    <select name="emailsubject" size="1">
                        <?while(list($key,$val)=each($subjects)) {?>

                            <option value="<?=intval($key);?>"><?=htmlspecialchars(stripslashes($val));?></option>
                        
                        <?}?>
                    </select>
                
            
            <?} Else {?>
                
                <input name="emailsubject" type="text" size="30" value="<?=stripslashes(htmlspecialchars($emailsubject));?>" />
                
            <?}?>
            
        </td>
    </tr>

    <?For($i=1;$i <= $allowattach$i++) {?>
        <tr>
            <td width="30%" class="table_body">Attach File:</td>
            <td width="70%" class="table_body"><input name="attachment[]" type="file" size="30" /></td>
        </tr>
    <?}?>
    
    <tr>
        <td colspan="2" width="100%" class="table_body">Your Message:<span class="error_message">*</span><br />
            <div align="center">
                <textarea name="yourmessage" rows="8" cols="60"><?=stripslashes(htmlspecialchars($yourmessage));?></textarea>
            </div>
        </td>
    </tr>
    <tr>
        <td colspan="2" width="100%" class="table_footer">
            <input type="hidden" name="submit" value="true" />
            <input type="submit" value="<?=$submitvalue;?>" /> &nbsp;
            <input type="reset" value="<?=$resetvalue;?>" />
        </td>
    </tr>
</table>
</form>

<?} Else {?>

    <div align="center" class="thanks_message"><?=$thanksmessage;?></div>
    <br />
    <br />

<?}
//Please leave this here.. It's very small and non-obtrusive. ?>
<table class="table" style="border:0px;" align="center">
    <tr>
        <td><div class="copyright">&copy;<a href="http://www.phphq.net/?script=phMailer" target="_blank" title="Powered By phMailer 1.5.1 &lt;www.phphq.net&gt;">phMailer</a></div></td>
    </tr>
</table>
</body>
</html>
For PHPMaili SMTP code
Working...
Reply With Quote
  #3  
Old 05-07-2011, 04:39 PM
Scott is offline Scott
Scott's Avatar
AKA. Panther

Join Date: Sep 2001
Location: Minneapolis, MN
Posts: 10,920

Thanks for posting your solution
__________________

04' Dodge SRT-4, Mopar Stage 3, 406whp/436wtq
Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Sending an Invite to you ALL! Troy General Chat 3 09-10-2007 02:57 PM
What email do you use? Erik General Chat 11 12-08-2006 03:04 PM
sending out e-mail to others some good tips Hellfighter Web design and Programming 2 05-20-2005 03:48 AM
military is sending me away again Stephen General Chat 15 05-07-2005 07:42 AM


All times are GMT -5. The time now is 04:26 AM.




Powered by vBulletin®