За последние 24 часа нас посетили 17544 программиста и 1313 роботов. Сейчас ищут 1317 программистов ...

Не получается отправить e-mail

Тема в разделе "Работа с почтой", создана пользователем unmanner, 23 янв 2011.

  1. unmanner

    unmanner Активный пользователь

    С нами с:
    23 янв 2011
    Сообщения:
    105
    Симпатии:
    0
    Недавно настроил тебе сервер дома, раньше он был на хостинге и сообщения отправлялись а теперь аналогичный скрипт не работает.

    Код (Text):
    1. <?php
    2.   $email = "to@gmail.com";
    3.   $headers = "From: ".$_SERVER['SERVER_NAME']." <'no_reply@***.info'>\r\n";
    4.   $headers = $headers."Content-type: text/html; charset=\"windows-1251\"\r\n";
    5.   $headers = $headers."Return-path: <'no_reply@***.info'>\r\n";
    6.   $message = '<p>Добро пожаловать на сайт '.$_SERVER['SERVER_NAME'].'!</p>'."\n";
    7.   $message = $message.'<p>Пожалуйста, обязательно сохраните это письмо. Параметры вашей
    8. учётной записи таковы:</p>'."\n";
    9.   $message = $message.'<pЛогин: '.$name.'<br/>Пароль: '.$passw.'</p>'."\n";
    10.   $message = $message.'<p>Для активации вашей учетной записи перейдите по ссылке:</p>'."\n";
    11.   $link = 'http://'.$_SERVER['SERVER_NAME'].'/activation.php?code='.$code;
    12.   $message = $message.'<p<a href="'.$link.'">Активировать учетную запись</a></p>'."\n";
    13.   $message = $message.'<p>Не забывайте свой пароль: он хранится в нашей базе
    14.  в зашифрованном виде, и мы не сможем вам его выслать. Если вы всё же забудете пароль,
    15.  то свяжитесь со службой поддержки сайта, вам вышлют новый пароль.</p>'."\n";
    16.   $message = $message.'<p>Спасибо за то, что зарегистрировались на нашем сайте.</p>'."\n";
    17.   $subject = 'Регистрация на сайте '.$_SERVER['SERVER_NAME'];
    18.   $subject = '=?koi8-r?B?'.base64_encode(convert_cyr_string($subject, "w","k")).'?=';
    19.   $res =   mail( $email, $subject, $message, $headers );
    20. ?>

    В чём может быть причина что mail возвращает NULL?
     
  2. <?=RPG?>

    <?=RPG?> Активный пользователь

    С нами с:
    19 ноя 2010
    Сообщения:
    451
    Симпатии:
    0
    На домашней машине нет мейл сервака. Чтобы РНР мог слать почту нужно установить что-то вроде postfix
     
  3. unmanner

    unmanner Активный пользователь

    С нами с:
    23 янв 2011
    Сообщения:
    105
    Симпатии:
    0
    Спасибо, помогло! :)

    А можно как-нибудь избежать попадания этих писам в спам?
    я пробовал дописывать "\r\n" но не помогло..
     
  4. unmanner

    unmanner Активный пользователь

    С нами с:
    23 янв 2011
    Сообщения:
    105
    Симпатии:
    0
    как правильно настроить MX записи на Yandex?
     
  5. <?=RPG?>

    <?=RPG?> Активный пользователь

    С нами с:
    19 ноя 2010
    Сообщения:
    451
    Симпатии:
    0
    Боюсь, от попадания этих писем в спам спасёт только беседа с техподдержкой яндекса.
     
  6. unmanner

    unmanner Активный пользователь

    С нами с:
    23 янв 2011
    Сообщения:
    105
    Симпатии:
    0
    Да, вот как раз беседую, предлогают подаждать пару дней, может ещё не проинтексировалась запись.
    Увидим :)
     
  7. unmanner

    unmanner Активный пользователь

    С нами с:
    23 янв 2011
    Сообщения:
    105
    Симпатии:
    0
    Похоже просто я что-то не так настроил..
     
  8. unmanner

    unmanner Активный пользователь

    С нами с:
    23 янв 2011
    Сообщения:
    105
    Симпатии:
    0
    Настраивал Postfix так:

    Код (Text):
    1.  
    2. #myorigin = /etc/mailname
    3.  
    4. smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
    5. biff = no
    6.  
    7. # appending .domain is the MUA's job.
    8. append_dot_mydomain = no
    9.  
    10. # Uncomment the next line to generate "delayed mail" warnings
    11. #delay_warning_time = 4h
    12.  
    13. readme_directory = /usr/share/doc/postfix
    14.  
    15. # TLS parameters
    16. smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
    17. smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
    18. smtpd_use_tls=yes
    19. smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
    20. smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
    21.  
    22. # See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
    23. # information on enabling SSL in the smtp client.
    24.  
    25. myhostname = unmanner-HP-Pavilion-dv5-Notebook-PC
    26. alias_maps = hash:/etc/aliases
    27. alias_database = hash:/etc/aliases
    28. myorigin = /etc/mailname
    29. mydestination = mail.***.info, localhost.localdomain, localhost
    30. relayhost =
    31. mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
    32. mailbox_size_limit = 0
    33. recipient_delimiter = +
    34. inet_interfaces = all
    35. html_directory = /usr/share/doc/postfix/html
     
  9. unmanner

    unmanner Активный пользователь

    С нами с:
    23 янв 2011
    Сообщения:
    105
    Симпатии:
    0
    Ладно, с настройками все номрально, можите не отвечать.

    А вот провайдер у меня мудак, PRT запись неправильная и плюс мой ip во всех блэк листах :)