Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Общие вопросы > прописание адреса эл. почты


Автор: keen_ 14.9.2006, 17:59
Извините, я не программист. Я вписываю html кодировку в cgi скрипт (Matts FormMail). Всё настроил, всё нормально работает. Но ... После отправки у меня показывается страничка на которой указан e-mail. Так он полностью корректно не отображается, т. е. вместо прописанного адреса info@mydomain.ru показывается info.ru. Подскажите что мне надо сделать!  smile  

Автор: nitr 14.9.2006, 18:01
исправь текст в скрипте 
info@mydomain.ru
на 
info\@mydomain.ru

Автор: keen_ 14.9.2006, 18:02
Спасибо, я понял.

Добавлено @ 18:05 
А ещё у меня такая фигня - посылается текст написанный кирилицей, а приходят одни ???????????????????????????. Вот с этой формы посылается http://royalolimp.ru/ru/about/

Автор: nitr 14.9.2006, 18:06
keen_, проверяй кодировки smile 

Автор: keen_ 14.9.2006, 18:08
 smile  кодировки - ГДЕ?  smile 

Автор: nitr 14.9.2006, 18:11
keen_, кодировки отправляемого текста и принимаемого smile

Автор: keen_ 14.9.2006, 18:14
я не знаю где кодировки, что значит отправляемого и принимаего. у меня сервер в США и подобных проблем с кирилицей нет. а этот сайт хостится у http://peterhost.ru/ и такая фигня получается ...

Автор: nitr 14.9.2006, 18:19
покажи кусок отправки...
в какой кодировке получаешь мессаги?
или сам догадайся... вот добавить (может так поможет):

Код

...
use Encode qw(encode decode);
...
$message = decode('cp1251', $message); #из виндовой кодировки
$message = encode('koi8-r', $message); #в так называемую юниксовую


Автор: keen_ 14.9.2006, 18:25
В любом случае мессага будет ??????????????????? какую-бы кодировку броузера я не поставил (Вид > Кодировка).

Явечером попробую вставить кусок который ты мне дал (ща нет возможности).

Большое спасибо тебе за помощь!  smile 

Автор: nitr 14.9.2006, 18:58
keen_, при чём тут браузер????????????????????

читай что написал
http://forum.vingrad.ru/index.php?showtopic=111941&view=findpost&p=854871

Автор: keen_ 14.9.2006, 23:12
При чём тут броузер? Ты сам говоришь об кодировке. В броузере тоже есть кодировка. Пойми, я плохо разбираюсь в програмировании и каких-то названиях, словах связанных с прграмированием. То, что для тебя само собой разумеющееся, для меня непонятное, я чайник. Мне нужно подробно объяснить. Вот.

Потом ты дал кусок чтоб я его вставил. Куда вставлять? В скрипт? А в какое место скрипта. Я вставил его и скрипт вообще перестал работать.

Сам скрипт можно посмотреть, я его тут прикрепляю.

В какое место нужно ставить твой код?  smile 

Вот, что мне ответила служба поддержки:

Дело в том, что ваш скрипт не формирует заголовок Content-Type, который в соответствии со стандартом должен сообщать о кодировке пересылаемого сообщения. Webmail встречая нарушение стандарта, не делает попыток угадать в какой кодировке пришло сообщение и выводит всё знаками вопроса. Так что, либо исправляйте ваш скрипт, либо пользуйтесь такими почтовыми клиентами, которые будут угадывать кодировку.

Автор: nitr 15.9.2006, 09:33
так и напиши smile
Код

print "Content-Type: text/html; charset=windows-1251\n";

ну вот как формирует мыло другой юзер:
http://forum.vingrad.ru/index.php?showtopic=111697&view=findpost&p=852608

там посмотри... при формировании добавлена такая строчка ;)
"какой страшный скрипт" smile
найди print MAIL "Below is the result of your feedback form.  It was submitted by\n";
и перед ней добавь
Код

print MAIL "Content-Type: text/html; charset=windows-1251\n";

Автор: keen_ 15.9.2006, 22:49
Я вставил кодировку туда куда ты сказал. Но нифига не сработало. Но я, не такой уж и тормоз  smile , я самостоятельно разобрался в чём дело. Оказывается нужно было поставить эту строчку перед другими сторочками, вот посмотри куда я её вставил:

Код

sub send_mail {
    # Localize variables used in this subroutine.                            #
    local($print_config,$key,$sort_order,$sorted_field,$env_report);

    # Open The Mail Program
    open(MAIL,"|$mailprog");

    print MAIL "Content-Type: text/html; charset=windows-1251\n";
    print MAIL "To: $Config{'recipient'}\n";
    print MAIL "From: $Config{'email'}\n";

    # Check for Message Subject
    if ($Config{'subject'}) { print MAIL "Subject: $Config{'subject'}\n\n" }
    else                    { print MAIL "Subject: Contact Form Submission\n\n" }

    print MAIL "Below is the result of your feedback form. It was submitted by\n";


Какой я умный!!!  smile

Ну, ладно. Спасибо за помощь. С меня бутылка водки или вина или пива!

Автор: nitr 17.9.2006, 22:50
keen_, smile))) а разве это и не указано??? smile
Цитата
ну вот как формирует мыло другой юзер:
http://forum.vingrad.ru/index.php?showtopi...st&p=852608

так всё и написано, поэтому пользуемся поиском smile

Автор: keen_ 19.9.2006, 23:23
Извини, что долго не отвечал! В любом случае, бутылка водки за мной! Ещё раз спасибо за помощь!  smile  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)