Jump to content
  • 0

отправка письма Form action mailto


Ingvarion
 Share

Question

День добрый.

хочу написать отправку текста на почту.

использую простенький код:

<form action=mailto:mypost@po4ta.ru enctype=text/plain>
<input type=text>
</form>

ввожу текст в окошко, нажимаю enter. открывается почтовик по умолчанию ( у меня это стандартный виндосный outlook express), в поле куда послать - аддресс отображается верно, но в поле письма текста нету. почему так происходит, может, чтото неправильно делаю?

Link to comment
Share on other sites

10 answers to this question

Recommended Posts

  • 0

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

во-вторых, всеобщее поведение относительно моего вопроса не отменяет моё желание узнать на него ответ.

спасибо.

Link to comment
Share on other sites

  • 0
во-первых, знаения атрибутов требуют кавычек, если этих значений больше одного, или это текст с пробелами.

А если прогнать через валидатор? :rolleyes:

во-вторых, всеобщее поведение относительно моего вопроса не отменяет моё желание узнать на него ответ

А я и не говорил, что ответ узнавать не надо, я просто показал выход из ситуации)

Link to comment
Share on other sites

  • 0

то, что кавычки не обязательны - читал на интуите. Там, собственно написать могут что угодно. Люди, писавшие валидаторы тоже могут придерживаться каких-либо собственных эстетических норм. Собственный же опыт показывает инвариантность данного написания(и в данном случае тоже).

сделать конечно можно по-разному, но, тем не менее, весьма интересно разобраться в проблеме.

Edited by Ingvarion
Link to comment
Share on other sites

  • 0

И как ваша почтовая программа поймет, что текст письма надо брать из <input type=text>?

А люди, писавшие валидаторы придерживаются не эстетических норм, а описание стандартов. А броузеры пишут люди, которым выгоднее, чтобы html-код даже с ошибкамы был выведен на экран. И по возможности броузеры корректируют мелкие ошибки.

В XHTML, в отличии от HTML, параметр без кавычек будет проигнорирован.

Какой doctype вы используете?

Link to comment
Share on other sites

  • 0

но, ведь я использую html а не xhtml, и кавычки там роли не играют, я проверял. Но, пусть будет, вы правы, а ситуация-то не меняется.

doctype не использую вообще. Пока что с ним не разобрался. При различных вариантах его использования сайт приобретает неадекватный вид.

Link to comment
Share on other sites

  • 0

Ingvarion, вам задали абсолютно верный вопрос - как почтовая программа узнает, что ей нужно заполнить тело письма текстом из безымянного поля?

При различных вариантах его использования сайт приобретает неадекватный вид.
Это всего лишь говорит о неадекватном использовании средств оформления. Для страничек с правильным доктайпом работают современные стандартные средства CSS и т.п., без него браузеры переключаются в режим эмуляции старых версий с их глюками.
Link to comment
Share on other sites

  • 0

SelenIT, в том то и дело, что я не знаю, каким образом почтовая программа это узнает, и именно это я у вас и спрашиваю, именно за этим я и создал эту тему, чтобы разобраться в данном вопросе.

по поводу doctype - скорее всего, вы правы. К сожалению, я пока что ещё не освоил этот вопрос. Информация, помещённая на этом сайте и на интуите, не даёт возможности полностью разобраться в этом. Буду рад вашим рекомендациям, где почитать.

Link to comment
Share on other sites

  • 0

Судя по старинными источникам (типа ftp://ftp.botik.ru/rented/robot/www/sidorov/nzam19.htm), для такой отправки нужно указать метод post для формы и имя (name) для поля. Пример по ссылке у меня работает. Про универсальность метода ничего не скажу - сам никогда не применял, т.к., как верно замечено выше, уже много лет для такой задачи принято использовать серверные скрипты.

Про доктайпы, имхо, лучше всего написал в свое время Генри Сивонен (http://hsivonen.iki.fi/doctype/), могу нескромно предложить любительский перевод ;). Про отличия "режима старых глюков" от нормального, имхо, лучше всего написано здесь.

Link to comment
Share on other sites

  • 0

Если Вы хотите чтобы открывалось окно почтовой программы, то необходимо указать метод GET (он же используется по умолчанию). Если Вы не хотите появления окна почтового клиента, то используйте метод POST. Согласно RFC 822 сообщение может состоять из двух частей: заголовка и тела (это относится и к HTTP и к SMTP). Если мы используем метод GET, то у нас нет тела сообщения, а есть только заголовок.

Вам нужно или использовать метод GET и в окне почтового клиента вводить текст или использовать метод POST.

Если вы хотите отправлять бинарные данные в письме, то необходимо обратиться к MIME, т.е. указать enctype="multipart/form-data".

На счёт старости такого метода и его не нужности можно сказать следующее: многие бесплатные хостинги не поддерживают серверные скрипты, SSI, CGI и прочие серверные технологии. Поэтому выходом может являться такой способ. А порой просто нет необходимости отправлять что-то с сервера и лучше всё реализовать именно таким способом. Это стандарт и он не устарел.

А вообще надо пробовать все возможные варианты!

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy