браузеры mailto вопрос? - PullRequest
       12

браузеры mailto вопрос?

1 голос
/ 12 июля 2010

У меня есть приложение, которое должно возвращать электронные письма пользователю с его почтовым клиентом, но в некоторых случаях мне приходится передавать около 1000 электронных писем.

Я использую mailto на href, что-то вродеthis:

mailto:info@useremail.com?bcc=email1@test.com,email2@other.net,anotherone@dfsf...

Почему я возвращаюсь к его почтовому клиенту вместо использования функции PHP mail()?
Поскольку электронная почта отправителя пользователя зависит от того, какой компьютер он использует, иему нужно архивировать тысячи писем.

Проблема: В некоторых браузерах, если список адресов электронной почты больше X, он не отправляет предпочитаемому почтовому клиенту.

Ответы [ 4 ]

8 голосов
/ 12 июля 2010

Вы можете вывести полный список BCC и попросить пользователя скопировать и вставить его. Но, возможно, вам следует просто переосмыслить всю стратегию, если вы хотите передать тысячи адресов электронной почты пользователю .

2 голосов
/ 12 июля 2010

Для всего, кроме простого mailto:address без параметров, mailto: URL-адреса крайне ненадежны , и их следует избегать. Проблемы с длиной URL - это только начало.

В некоторых случаях мне приходится передавать около 1000 писем ...

Даже если почтовый клиент сможет справиться с получением URL-адреса, интернет-провайдер пользователя вряд ли позволит ему отправить это.

Сдавайся. Отправляйте письма самостоятельно из PHP. Отправить копию пользователю для архивных целей.

2 голосов
/ 12 июля 2010

Это потому, что длина запроса GET (а такая ссылка является запросом GET) имеет максимум. В некоторых браузерах это может быть только 2083 символа. Таким образом, любой адрес электронной почты за этим лимитом не будет отправлен клиентской программе электронной почты. И тысячи адресов электронной почты сломают предел.

1 голос
/ 12 июля 2010

Передача пользователю тысячи адресов электронной почты очень необычно.

Как правило, более типичное приложение использует PHP mail () на стороне сервера, а затем позволяет просматривать архивы всех отправленных уведомлений. Почта остается включенной и отправляется с веб-сервера, но позволяет пользователю увидеть, что было в прошлом.

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

...