Подскажите как правильно отправить письмо, В отправителе вместо русских букв пишется чтонибудь PHP: attach:= TidAttachment.Create(nil); smtp:=tidsmtp.Create(nil); mes:=TIdMessage.Create(Form1); smtp.Host:='SMTP.mail.ru'; //Здесь меняете хост ,если нада smtp.Port:=2525; smtp.AuthenticationType:=atLogin; smtp.Username:='[email protected]'; smtp.Password:='pass'; smtp.HeloName:='Programm'; with mes do begin CharSet:='windows-1251'; Body.Add('Это сообщение'); From.Address:='[email protected]'; From.Name:='Василий Пупкин'; Recipients.EMailAddresses:='[email protected]'; IsEncoded:=True; ExtraHeaders.Add('Subject: Какая то тема письма'); ContentType := 'text/plain'; end; // attach:= TIdAttachment.Create(mes.MessageParts,'C:\attach.rar'); smtp.Connect; SS:=TStringStream.Create(''); mes.SaveToStream(ss); memo1.text:=SS.DataString; If smtp.Connected Then smtp.Send(mes); smtp.Disconnect; attach.Free end;
Code: uses ..., IdCoderHeader; ..... var C: CSET; h:TTransfer; .... attach:= TidAttachment.Create(nil); smtp:=tidsmtp.Create(nil); mes:=TIdMessage.Create(Form1); smtp.Host:='SMTP.mail.ru'; //Здесь меняете хост ,если нада smtp.Port:=2525; smtp.AuthenticationType:=atLogin; smtp.Username:='[email protected]'; smtp.Password:='pass'; smtp.HeloName:='Programm'; with mes do begin CharSet:='windows-1251'; Body.Add('Это сообщение'); From.Address:='[email protected]'; From.Name:=EncodeHeader('Василий Пупкин',C,'Q',h,'windows-1251'); Recipients.EMailAddresses:='[email protected]'; IsEncoded:=True; Subject:=EncodeHeader('Какая то тема письма',C,'Q',h,'windows-1251'); ContentType := 'text/plain'; end; // attach:= TIdAttachment.Create(mes.MessageParts,'C:\attach.rar'); smtp.Connect; SS:=TStringStream.Create(''); mes.SaveToStream(ss); memo1.text:=SS.DataString; If smtp.Connected Then smtp.Send(mes); smtp.Disconnect; attach.Free end;