Чтобы ответить на ваш второй вопрос, да, все, что вы можете сделать, это предположить, что оно успешно - то есть оно получило сообщение на сервер, и сервер принял его, если вы не получите исключение.
Вы, вероятно, уже знаетеостальное, но на всякий случай ...
Оттуда электронная почта может быть потеряна и не доставлена множеством способов.Ваш сервер может принять его и принять решение не отправлять его или принять его и потерять питание перед сбоем.По пути оно может быть заблокировано спам-фильтром и т. Д.
Вы можете думать, что электронное письмо похоже на обычное письмо в том смысле, что оно проходит через несколько рук между отправителем и получателем.Из своего кода вы можете только подтвердить, что он попал на SMTP-сервер, который вы используете для отправки, что аналогично передаче его кассиру в почтовом отделении.Вы не знаете (или должны знать), как сообщение оттуда отправляется.это может быть воздушный, наземный или почтовый голубь.Вы вышли из уравнения - вам не нужно знать, как оно отправляется, просто вы доверяете, что они знают, как это отправить.(То же самое можно сказать и об электронном письме.)
Если вам необходимо подтвердить, что получатель открыл его, есть способы встроить изображение в сообщение HTML на вашем сервере и отслеживать его в журналах, когда это изображениеи т. д. (отслеживание электронной почты Google и отслеживание открытия электронной почты)
С другой стороны ...
Если сервер отклоняет его, вы получаете ответ сервера в видеговоря - в сообщении об ошибке должен быть код ошибки и описание, которое вы можете использовать, чтобы выяснить причину, по которой она не возникла, или использовать обработку ошибок, чтобы попробовать другой маршрут и т. д.