PDA

Ver la Versión Completa : Enviar correo desde fastnet desde delphi.


uper
19-02-2007, 20:32:58
buenas tardes, club me solicitaron un programa para enviar correos desde delphi, o como prepararlo el asunto, destinatario, el adjunto y pasarlo al outlook express.

Bueno lo cierto es que para facilitarme la tarea lo que hice es que use los componentes fasnet de delphi 5.0 el cual investige el puerto 587 para la cuenta de yahoo y me da un error 530 authentication requiered.

En la maquina tengo internet pero no tengo ninguna cuenta dada de alta desde el outlook espress o el otro outlook, que puedo hacer

y este es mi codigo, que tiene Tedit para pasarle el destinatario, el puerto, el host, etc.


procedure TForm1.enviar;
begin
NMSMTP1.Port:=StrToInt(Trim(txtport.Text));
NMSMTP1.Host:=EdHost.Text;
NMSMTP1.UserID:=Trim(edUserID.Text);
if not (NMSMTP1.Connected) then
NMSMTP1.Connect;
NMSMTP1.PostMessage.FromAddress :=trim(edUserID.Text);
NMSMTP1.PostMessage.FromName :=Nombre_del_usuario';
if RadioButton1.Checked=true then
NMSMTP1.SubType:=mtPlain
else
if RadioButton2.Checked=true then
NMSMTP1.SubType:=mtHtml;
NMSMTP1.PostMessage.Subject:=trim(Edit3.text);
NMSMTP1.PostMessage.ToAddress.Add(Form1.Edit1.Text);
NMSMTP1.PostMessage.ToCarbonCopy.Add(Form1.Edit2.Text);
NMSMTP1.PostMessage.Attachments.AddStrings(Listbox1.Items);
NMSMTP1.PostMessage.Body.Text:=Memo1.Text;
NMSMTP1.SendMail;
NMSMTP1.Disconnect;


para los attach debo encontar la manera de que por medio de una ruta de directorio me vaya agregando los archivos para adjuntarlos, eso creo que se puede hacer por medio de un listbox y saber cuantos archivos son.
Me pudieran decir que le falta al programa para que salgan los correos, ese el codigo.

les agradesco
Gracias.

ContraVeneno
20-02-2007, 01:32:11
with FormaPrin.SMTP do begin
try
try
Connect;
except on E:Exception do begin
messagebox(Handle,'No se pudo establecer la conexión.','Error.',MB_oK+MB_ICONERROR);
end; //fin except
end; // fin try - except
finally
if Connected then begin
PostMessage.FromAddress:=strOrigen;
PostMessage.ToAddress.Text:=edtMail0.Text;
if edtMail1.Text<>'' then
PostMessage.ToCarbonCopy.Text:=edtmail1.text;
with PostMessage.Body do begin
Clear;
Add(edtHTML.Text);
end; //with body
PostMessage.Subject:=edtAsunto.Text;
SendMail;
Disconnect;
end; //if connected
end; //fin try - finally
end; //with smtp