класс для работы с почтой

Статус
В этой теме нельзя размещать новые ответы.

kud

Постоялец
Регистрация
18 Фев 2009
Сообщения
89
Реакции
11
Есть у кого-то готовый ?
Какой посоветуете?
Нужна реализация отправки через smtp с авторизацией и чтение через IMAP или POP3.
 
PEAR MAIL::SMTP поддерживает аутентификацию
 
Есть у кого-то готовый ?
Какой посоветуете?
Нужна реализация отправки через smtp с авторизацией и чтение через IMAP или POP3.

С imap и так не сложно работать, вот пару дней назад писал для сбора пассов с gmail'а:

PHP:
$login = "login";
$password = "password";

$server = '{imap.gmail.com:993/ssl/novalidate-cert}';
$connection = imap_open($server, $login, $password);
 
$count = imap_num_msg($connection);

for($i = 1; $i <= $count; $i++) {
    $header = imap_headerinfo($connection, $i);
    if ($header->Unseen=="U" && $header->subject=="Welcome to biz.nf") {
	$raw_body = imap_body($connection, $i);

	preg_match("|Client ID: (.*?)<br>|is", $raw_body, $out);
	$id = $out[1];
	preg_match("|Password: (.*?)<br>|is", $raw_body, $out);
	$pass = $out[1];
	add_f($id.":".$pass."\n");

	imap_setflag_full($connection, $i, "\\Seen");
    }
}

imap_close($connection);

Для отправки же можно помучатся самому:



Но проще будет использовать PEAR либо phpmailer:



Желаю удачи ;)
 
Есть отличный Для просмотра ссылки Войди или Зарегистрируйся для web-разработчиков. Просто море различных класов и примеров на любой случай)
 
phpmailer посмотри , весьма функциональный
с gmail работает
 
на phpclasses.org такого добра много
 
Could not instantiate mail function

На хостинге вылезает ошибка "Could not instantiate mail function" при использовании phpmailer.
Братья, подскажите пожалуйста, как лечить, как найти ошибку?
 
На хостинге вылезает ошибка "Could not instantiate mail function" при использовании phpmailer.
Братья, подскажите пожалуйста, как лечить, как найти ошибку?
Это ты у хостера спроси ;)
Данная ошибка вызывается только в одном месте.
PHP:
  public function MailSend($header, $body) {

    $to = '';
    for($i = 0; $i < count($this->to); $i++) {
      if($i != 0) { $to .= ', '; }
      $to .= $this->AddrFormat($this->to[$i]);
    }

    $toArr = split(',', $to);

    $params = sprintf("-oi -f %s", $this->Sender);
    if ($this->Sender != '' && strlen(ini_get('safe_mode'))< 1) {
      $old_from = ini_get('sendmail_from');
      ini_set('sendmail_from', $this->Sender);
      if ($this->SingleTo === true && count($toArr) > 1) {
        foreach ($toArr as $key => $val) {
          $rt = @mail($val, $this->EncodeHeader($this->SecureHeader($this->Subject)), $body, $header, $params);
        }
      } else {
        $rt = @mail($to, $this->EncodeHeader($this->SecureHeader($this->Subject)), $body, $header, $params);
      }
    } else {
      if ($this->SingleTo === true && count($toArr) > 1) {
        foreach ($toArr as $key => $val) {
          $rt = @mail($val, $this->EncodeHeader($this->SecureHeader($this->Subject)), $body, $header, $params);
        }
      } else {
        $rt = @mail($to, $this->EncodeHeader($this->SecureHeader($this->Subject)), $body, $header);
      }
    }

    if (isset($old_from)) {
      ini_set('sendmail_from', $old_from);
    }

    if(!$rt) {
      $this->SetError($this->Lang('instantiate'));
      return false;
    }

    return true;
  }
После пары движений извилиной понимаем, что функция mail не фурычит ;)
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху