require('PHPMailer/class.phpmailer.php'); include('PHPMailer/class.smtp.php');
public function SMTP($to, $subject, $message,$headers){ $mail = new PHPMailer(); $mail->IsSMTP(); // telling the class to use SMTP $mail->Host = ''.$this->settings->smtp_server.''; // SMTP server $mail->SMTPDebug = 0; // enables SMTP debug information (for testing) $mail->SMTPAuth = true; // enable SMTP authentication $mail->Port = $this->settings->smtp_port; // set the SMTP port for the GMAIL server $mail->Username = ''.$this->settings->smtp_user.''; // SMTP account username $mail->Password = ''.$this->settings->smtp_pass.''; // SMTP account password $mail->SetFrom($this->settings->smtp_user, $this->settings->user_pseudo); $mail->AddReplyTo($this->settings->smtp_user,$this->settings->user_pseudo); $mail->Subject = $subject; $mail->MsgHTML($message); $mail->addCustomHeader("MIME-Version: 1.0\n"); $recipients = explode(',',$to); if(!empty($recipients)){ foreach($recipients as $i=>$r){ $mail->AddAddress($r); } } else{ $mail->AddAddress($to); } if(!$mail->Send()) { @file_put_contents('error_log.txt',$mail->ErrorInfo); } } function email($to, $subject, $message, $from = '', $reply_to = '') { $headers = "MIME-Version: 1.0\n" ; $headers .= "Content-type: text/html; charset=UTF-8; \r\n"; $headers .= "From: $from\r\n"; if(!empty($reply_to)) $headers .= "reply-to: $reply_to\r\n"; $subject = "=?utf-8?B?".base64_encode($subject)."?="; if($this->settings->use_smtp){ $this->SMTP($to, $subject, $message, $headers); } else{ @mail($to, $subject, $message, $headers); } }
<div class="block layer"> <h2> SMTP </h2> <ul> <li> <label class="property" >SMTP </label> <select name="use_smtp"> <option value="1" {if $settings->use_smtp == 1}selected=""{/if}></option> <option value="0" {if $settings->use_smtp == 0}selected=""{/if}></option> </select> <label class="property" >SMTP Server</label> <input name="smtp_server" class="okay_inp" value="{$settings->smtp_server}" type="text" /> <label class="property" >SMTP Port</label> <input name="smtp_port" class=" okay_inp " value="{$settings->smtp_port}" type="text" /> <label class="property" >SMTP </label> <input name="smtp_user" class=" okay_inp " value="{$settings->smtp_user}" type="text" /> <label class="property" >SMTP </label> <input name="smtp_pass" class=" okay_inp " value="{$settings->smtp_pass}" type="text" /> <label class="property" > </label> <input name="user_pseudo" class=" okay_inp " value="{$settings->user_pseudo}" type="text" /> </li> </ul> </div>
$this->settings->smtp_server = $this->request->post('smtp_server'); $this->settings->smtp_port = $this->request->post('smtp_port'); $this->settings->smtp_user = $this->request->post('smtp_user'); $this->settings->smtp_pass = $this->request->post('smtp_pass'); $this->settings->use_smtp = $this->request->post('use_smtp'); $this->settings->user_pseudo = $this->request->post('user_pseudo');
Source: https://habr.com/ru/post/319454/
All Articles