Как прикрепить к письму файл?
Всем доброго времени суток. Эта статья является продолжение статьи по отправке сообщений на электронную почту. Сегодня мы научимся прикреплять разного рода файлы к нашим письмам и отправлять их адресату.
Сразу хочу заметить, что разные почтовики вводят различные лимиты (ограничения) на прикрепленные файлы это обычно в районе 5 – 25 мб. Это сделано для того, чтобы письма занимали мало места на их серверах. Поэтому прежде чем посылать сообщение кому либо с файлами, ознакомьтесь с лимитом почтового сервера иначе Ваше письмо может быть отклонено и адресат его не получит.
Теперь собственно, о том как прикрепить сам файл к письму. Один из пользователей нашего сайта «Эйр Макентаир» уже вкратце объяснял как это сделать. Мы же повторим еще раз этот метод и расширим немного его. И так для прикрепления файла можно воспользоваться следующим кодом:
oSmtp.AddAttachment('Пример.docx');
В скобочках указывается путь к прикрепляемому файлу и его название, вместе с расширением (типом файла). Если Ваш файл лежит в корневой папке с программой, то указывать путь к нему не нужно.
Если файл лежит в другом месте, то путь к нему будет иметь следующий вид:
oSmtp.AddAttachment('C:\Пример.docx');
oSmtp.AddAttachment('C:\ProgramFiles\Пример.docx');
Но этот метод указывания пути к файлу неудобен, так как каждый раз перед отправкой сообщения Вам нужно будет вручную в коде изменять путь к файлу. Поэтому наиболее удобным способом будем использовать компонент OpenDialog, он находится на вкладке компонентов Dialogs.
Разместите его на форме Вашего приложения, а затем пропишите следующий код на кнопочке «Прикрепить файл»:
OpenDialog1.Execute;
Теперь при нажатии на данную кнопку будет открываться окно открытия файла.В нем находите нужный фай и нажимаете открыть. А вот при отправке Вашего письма проверка на прикрепленный файл будет следующей:
if OpenDialog1.FileName<>’’ then oSmtp.AddAttachment(OpenDialog1.FileName);
Таким образом при пересылке письма будет каждый раз проверяться прикреплен ли файл. Если Вы в оупен диалоге выбирали файл, то его имя будет всегда хранится в нем, если нет – то там будет пусто.
Так же будет не лишним после отправки письма очистить путь к прикрепленному файлу. Он на больше не нужен – ведь письмо уже отправлено:
OpenDialog1.FileName:=’’;
Пожалуй, на этому меня все. Надеюсь статья будет Вам полезна и окажет посильную помощь в создании Интернет приложений. Всем пока и удачи в Ваших начинаниях!
Автор: Соколов Виталий
Источник: delgame.at.ua.
|