#mailto
#mailto
Вопрос:
Я отправляю электронные письма из своего приложения с помощью mailto:
Process.Start("mailto:" emailAddress "?subject=" subject "amp;body="
body);
Когда я использую это с небольшим количеством адресов электронной почты (10-20), оно работает нормально, но я тестирую его с большим числом (100 ), но некоторые электронные письма не добавляются в список получателей.
Существует ли ограничение на количество электронных писем, которые я могу добавить таким образом? и есть, какой предел?
Комментарии:
1. Тело и тема все еще устанавливаются? Какой почтовый клиент вы используете?
Ответ №1:
Если существует ограничение, оно зависит от базового почтового клиента, который зарегистрирован для mailto:
ссылок.
Отправка электронных писем таким образом запускает новый процесс Windows для открытия окна отправки электронной почты, обычно Microsoft Outlook. Вполне может быть, что существует ограничение на количество получателей, которое разрешит Outlook, или на размер строки mailto:.
Возможным обходным решением может быть создание вместо этого двух или более сообщений электронной почты, каждое из которых содержит 20 или менее адресов электронной почты.
Кроме того, вы можете изучить System.Mail.SmtpClient
класс и рассмотреть возможность отправки почты непосредственно из вашего приложения. Ссылка здесь: http://msdn.microsoft.com/en-us/library/system.net.mail.smtpclient.aspx
Ответ №2:
Ограничение — это любой lmiit, установленный сервером. Как и в: нет, у SMTP нет ограничений, но серверы не любят спамеров. Оставаться ниже 20 вполне безопасно, ниже 10 обычно вполне нормально.
В качестве альтернативы перенастроите свой сервер.
Ответ №3:
Это не вопрос для C #. Я полагаю, что вы запускаете новый процесс с определенными аргументами, поэтому он соответствует пределу почтового клиента. Это может быть ограничение стандартного URL, поддерживаемого Microsoft, которое, как я полагаю, составляет ~ 2053 символа (попробуйте проверить это).
Редактировать:
Вы также можете попробовать альтернативу, например:
MailMessage mail = new MailMessage();
mail.From = new MailAddress(from);
mail.To.Add(to);
mail.Subject = subject;
mail.Body = body;
// Send Mail
SmtpClient client = new SmtpClient("Server-IP");
client.Send(mail);
Ответ №4:
string Address = "hotline.isp@abc;supportpl.ispit@bcd";
System.Diagnostics.Process.Start("mailto:" Address "amp;subject=Support requestamp;body=Dear Hotline,");