Это может быть немного слишком старым, но мне просто удалось заставить javamail и sendmail работать вместе. На самом деле это очень просто, и я был глуп, потому что не делал это быстрее ...
Давайте немного проигнорируем sendmail. Как мы можем отправить электронное письмо через javamail? Есть тонны учебников онлайн, но вот как это делается:
- Создайте сеанс с соответствующим аутентификатором;
- Создайте объект MimeMessage (здесь вы добавляете все адреса получателей);
- Позвоните Transport.send() с вашим сообщением.
Что делать, если ваш SMTP-сервер отправляет электронные письма до 100 получателей (например, моих)? Вот когда sendmail вступает в игру. Вы можете думать о sendmail как о своем собственном SMTP-сервере. Поэтому сначала установите его.Если вы используете Ubuntu (например, я), просто выполните:
sudo apt-get install sendmail
Установка завершается довольно быстро. После этого sendmail готов к использованию. Я не беспокоился о настройке любого типа аутентификации или вообще, но, вероятно, это хорошая идея, если на вашем сервере будет публичный IP-адрес в Интернете. Теперь вместо того, чтобы указывать ваш Java-код (который использует javamail) на ваш SMTP-сервер, просто укажите его на localhost (или на какой-либо другой компьютер, который вы только что установили sendmail).
Вы даже можете протестировать свою установку sendmail с помощью обычного почтового клиента (Thunderbird, Outlook, Windows Mail или любого другого, плавающего на вашей лодке). Просто настройте свой SMTP-сервер на компьютер, на котором установлен sendmail. Угадай, что? Оно работает!
Просто не использовать для отправки сообщений электронной почты на весь мир ...;)
Вы используете Runtime.exec (..) в настоящее время? –
Пока еще нет. –
Возможно, вы не собираетесь ускорять процесс, просто изменив программу, которую вы используете, чтобы отправлять электронные письма. Чтобы увидеть существенную скорость, вам нужно будет что-то сделать, чтобы распараллелить процесс, чтобы вы могли делать это на нескольких компьютерах одновременно. – Nate