Отправка почты через gmail

Тема в разделе "Как сделать...", создана пользователем kuzmit42, 10 дек 2013.

  1. kuzmit42

    kuzmit42 Постоялец

    Регистр.:
    9 янв 2013
    Сообщения:
    131
    Симпатии:
    31
    В общем опишу задачу, не знаю реально это или нет. Поделитесь мнениями кто что знает.
    Задача.
    Есть php форма, с темой и сообщением. Эту форму нужно отправить через gmail. т.е. с моего сайта, но отправить с gmail. Из условий - нужно сделать так чтобы отправленное письмо было в исходящих в аккаунте gmail. И дальнейшая переписка велась уже через аккаунт Gmail.
    Это возможно или нет ?
    Отпишитесь кто что знает, если будут ссылки на реализацию вообще супер.
    Спасибо с ув. Дмитрий!
     
  2. Bastard007

    Bastard007 Постоялец

    Регистр.:
    17 авг 2009
    Сообщения:
    136
    Симпатии:
    37
    Насколько помню - в исходящих письмо будет сохранятся, если отправляется посредством smtp, фнукцией phpmail - не сохраняется.
    Пример формы - ну например вот http://help.rucable.net/articles/sendmail-with-smtp-auth.html
     
    kuzmit42 нравится это.
  3. Nei

    Nei Nosce te ipsum

    Регистр.:
    5 сен 2009
    Сообщения:
    608
    Симпатии:
    479
    Пользуюсь этим кодом для описанной задачи:
    PHP:
     require_once('../phpmailer/class.phpmailer.php');
      
    $Mail = new PHPMailer();
      
    $Mail->IsSMTP(); // Use SMTP
      
    $Mail->Host        "smtp.gmail.com"// Sets SMTP server
      
    $Mail->SMTPDebug  0// 2 to enable SMTP debug information
      
    $Mail->SMTPAuth    TRUE// enable SMTP authentication
      
    $Mail->SMTPSecure  "tls"//Secure conection
      
    $Mail->Port        587// set the SMTP port
      
    $Mail->Priority    3// Highest priority - Email priority (1 = High, 3 = Normal, 5 = low)
      
    $Mail->CharSet    'UTF-8';
      
    $Mail->Encoding    '8bit';
      
    $Mail->Subject    "Тема письма";
      
    $Mail->ContentType "text/html; charset=utf-8\r\n";
      
    $Mail->From        'mail@gmail.com';
      
    $Mail->Username    'mail@gmail.com'// SMTP account username
      
    $Mail->Password    'password'// SMTP account password
      
    $Mail->FromName    'From me';
      
    $Mail->WordWrap    900// RFC 2822 Compliant for Max 998 characters per line
    $Mail->AddAddress('email');

    $str_text "Текст сообщения";

      
    $Mail->isHTMLTRUE );
      
    $Mail->Body    stripslashes($str_text);
      
    $Mail->AltBody stripslashes(strip_tags($str_text));
      
    $Mail->Send();
      
    $Mail->SmtpClose();

      if ( 
    $Mail->IsError() ) {
        echo 
    "ERROR<br /><br />";
      }
     
    HEPB и kuzmit42 нравится это.
  4. f0rsaken198

    f0rsaken198 Создатель

    Регистр.:
    19 янв 2009
    Сообщения:
    8
    Симпатии:
    1
    Попробуйте PHP SwiftMailer
     
    kuzmit42 нравится это.
  5. Asin

    Asin

    Регистр.:
    18 авг 2008
    Сообщения:
    621
    Симпатии:
    390
    Пользовался как-то плагином к Wordpress, который рассылал письма подписчикам именно через gmail - так что реально.
     
  6. 01K

    01K

    Регистр.:
    27 июн 2013
    Сообщения:
    282
    Симпатии:
    42
    А как по поводу ограничения на рассылку?
    Раньше, после нескольких отправленных писем (средствами PHP), gmail запрещал отсылку писем и нужно было через его web интерфейс вводить капчу.
    Или это относится/относилось только к свежим аккаунтам?
     
  7. Nei

    Nei Nosce te ipsum

    Регистр.:
    5 сен 2009
    Сообщения:
    608
    Симпатии:
    479
    При помощи приведенного мной выше кода я пробовал отправлять рассылку при этом участников рассылки добавлял к письму в качестве скрытых получателей (в районе нескольких десятков по-моему можно добавить таких получателей к одному письму).
     
  8. kuzmit42

    kuzmit42 Постоялец

    Регистр.:
    9 янв 2013
    Сообщения:
    131
    Симпатии:
    31


    Воспользовался этим кодом. Все отлично все работает.
    Но хочу его немного допилить.
    Ну и вот интересуют такие вопросы.
    1. Как отправить письмо на несколько адресов ? было бы круто если бы их можно было перечислять через запятую. Как думаете - можно ?
    2. Можно ли положить этот файл на сервер как пхп скрипт, и передавать в него параметры через ссылку ?
    Ну например файл называем mail.php - обращаемся к нему так http://mysite.ru/mail.php?site=test.ru&mail=test@mail.ru
    Т.е. через ссылку передается адрес сайта и email на который отправляем почту.
    Это реально ?
     
  9. Nei

    Nei Nosce te ipsum

    Регистр.:
    5 сен 2009
    Сообщения:
    608
    Симпатии:
    479
    Добавление скрытых получателей:
    $Mail->AddBCC('mail@site.ru');

    Реально конечно. В таком случае в самом скрипте в том месте, где должна быть к примеру почта, должно быть обращение к параметру - $_GET['mail']
     
    kuzmit42 нравится это.