Страница 1 из 1

Ошибка при отправке email

Добавлено: 02 мар 2007, 00:24
Lonix
Помогите. Код программы:
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
IdMessageClient, IdSMTP, StdCtrls, idMessage, IdEMailAddress;

.....................


procedure TForm1.Button1Click(Sender: TObject);
begin
if not opendialog1.Execute then exit;
memo1.Lines.Assign(opendialog1.Files);
end;

procedure TForm1.Button2Click(Sender: TObject);
var
M: TIdMessage;
begin
M := TIdMessage.Create(Form1);
M.Body.Add('первая строка');
M.From.Text := '"Haker" <mail@mail.ru>'; //с какого мыла отправлять
M.Recipients.Add;
M.Recipients.Items[0].Text := '"Имя" <vit@mail.ru>'; //куда отправлять
M.Subject := 'Тема :) ';
TIdAttachment.Create(M.MessageParts, memo1.Lines.Text); // прикрепленный файл
IdSMTP1.AuthenticationType := atLogin;
IdSMTP1.Host := 'smtp.mail.ru';
IdSMTP1.Username := 'mail'; // логин
IdSMTP1.Password := '********'; // пароль
IdSMTP1.Connect();
if IdSMTP1.Connected then
begin
IdSMTP1.Send(M);
end;
IdSMTP1.Disconnect;
end;
Выводит сообщение что синтаксическая ошибка, файл который я указываю типа не найден и т.д. Проверьте у себя, подскажите что делать.

Re: Ошибка при отправке email

Добавлено: 02 мар 2007, 09:04
Blood_Magic
Memo.Lines.strings[0] может

Re: Ошибка при отправке email

Добавлено: 02 мар 2007, 10:41
namomelkor
не пойму зачем использовать эту конструкцию

Код: Выделить всё

if not opendialog1.Execute then exit;
memo1.Lines.Assign(opendialog1.Files);
если есть свойство OpenDialog1.FileName

можно просто написать
st:='';
if opendialog1.Execute then st:=OpenDialog1.FileName;

и еще сделать проверку if st<>'' then TIdAttachment.Create(M.MessageParts, st); // прикрепленный файл

Re: Ошибка при отправке email

Добавлено: 04 мар 2007, 20:53
Игорь Акопян
хотел уже удалять тему.
Lonix, в следующий раз называйте тему корректнее (вопрос судя по ответам не имеет отношения к отправке почты)