2014-02-27 3 views
0

Я хочу отправить электронные письма через оригинальную старую школу sendmail.Изменить с PHPmailer на sendmail

Как мне изменить этот КОД для работы с sendmail?

Я пробовал, но я всегда получаю очень уродливые ошибки, я пытался изменить IsMail на IsSedmail, но по-прежнему не отправляет оригинальный способ.

Phpmailer отправляет 3 письма, и веб-сайт занимает много времени для отправки, поэтому я хочу перейти на старую обычную «почту (на ....», но проблема в том, что я потерял во всем коде поэтому Помогите пожалуйста.

function send_mail($rec_email,$subject,$message, $IsHtml=false, $cc=array(), $bcc=array()) { 
    global $THIS_BASEPATH, $btit_settings; 

    if (!method_exists('PHPMailer','IsMail')) 
     include($THIS_BASEPATH.'/phpmailer/class.phpmailer.php'); 
    $mail=new PHPMailer(); 

    if ($btit_settings['mail_type']=='php') { 
     $mail->IsMail();         # send via mail 
     if (!empty($cc)) 
      $mail->AddCustomHeader('Cc: '.implode(',',$cc)); 
     if (!empty($bcc)) 
      $mail->AddCustomHeader('Bcc: '.implode(',',$bcc)); 
    } else { 
     $mail->IsSMTP();         # send via SMTP 
     $mail->Host  = $btit_settings['smtp_server']; # SMTP servers 
     $mail->Port  = $btit_settings['smtp_port'];  # SMTP port 
     $mail->SMTPAuth = true;       # turn on SMTP authentication 
     $mail->Username = $btit_settings['smtp_username']; # SMTP username 
     $mail->Password = $btit_settings['smtp_password']; # SMTP password 
     if (!empty($cc)) 
      foreach($cc as $carbon_copy) 
       $mail->AddCC($carbon_copy[0],$carbon_copy[0]); 

     if (!empty($bcc)) 
      foreach($bcc as $blind_carbon_copy) 
       $mail->AddBCC($blind_carbon_copy[0],$blind_carbon_copy[0]); 
    } 

    $mail->From  = $btit_settings['email']; 
    $mail->FromName = $btit_settings['name']; 
    $mail->CharSet = $btit_settings['default_charset']; 
    $mail->IsHTML($IsHtml); 
    $mail->AddAddress($rec_email); 
    $mail->AddReplyTo($btit_settings['email'],$btit_settings['name']); 
    $mail->Subject = $subject; 
    $mail->Body  = $message; 

    return ($mail->Send())?true:$mail->ErrorInfo; 
} 

большое спасибо.

+0

сначала вы говорите * sendmail *, то * mail() * функция php, тезисы не то же самое –

+0

** комментарий ** весь код функции и место только 'mail (to ....)' с требуемыми параметрами – Girish

+0

PHPMailer может использовать mail(), плохую идею, но для этого есть конфигурация. основной пример использования почты: http://phpmailer.worxware.com/?pg=examplebsendmail –

ответ

0

PHPMailer не culrpit за «медлительности», это, вероятно, сервер SMTP вы указали. не прекратить использование PHPMailer, хотя. PHPMailer делает тонн дополнительных материалов за кулисами для отправки почты правильно.

Для отправки почты через локальный сервер, используя РНР mail() заменить:

$mail->IsSMTP();         # send via SMTP 
$mail->Host  = $btit_settings['smtp_server']; # SMTP servers 
$mail->Port  = $btit_settings['smtp_port'];  # SMTP port 
$mail->SMTPAuth = true;       # turn on SMTP authentication 
$mail->Username = $btit_settings['smtp_username']; # SMTP username 
$mail->Password = $btit_settings['smtp_password']; # SMTP password 

С:

$mail->isMail(); 

Вот и все.

Если вы уверены, что сервер либо Sendmail [или капля в замене, как Postfix или Exim] установлен, то вы можете использовать:

$mail->isSendmail(); 

Однако с помощью веб-сервера для отправки вы теперь зависимы от:

  1. Установленный MTA настроен правильно, что они часто не являются.
  2. Репутация веб-сервера в соответствии с различными черными списками. Как правило, веб-серверы имеют репутацию s ** t, поскольку каждый может отказаться от исходящей почты в очередь без аутентификации.
+0

Итак, я изменил IsMail на IsSendmail, теперь сайт работает правильно, но не отправляет электронное письмо, IsMail работает, но отправляет 3 сообщения вместо один и мой хостинг-сервер дает ошибку, что веб-сайт неактивно и обновить страницу через минуту. – crentzc

+0

В конце концов я искал бесплатный хостинг-сайт, я добавил адрес электронной почты, и я использовал его как smtp-сервер и работал как шарм, спасибо за вашу помощь. – crentzc

Смежные вопросы