Aunque no es exactamente lo que quieres quizás te sirva alguna parte del código:
Código Delphi
[-]
procedure TfrConAlumnos.spCorreoClick(Sender: TObject);
Var
i:integer;
stlCorreo:TStringList;
nVacios:Integer;
s:String;
begin
stlCorreo:= TStringList.Create;
nVacios:=0;
for i := 0 to frConAlumnos.Reja.SelectedRows.Count-1 do
begin
frConAlumnos.Reja.DataSource.DataSet.Bookmark := frConAlumnos.Reja.SelectedRows[i];
if (pos('@',DmoJuanes.AlumnosCorreoel.AsString) > 0) and (pos('.',DmoJuanes.AlumnosCorreoel.AsString) > 0) then
stlCorreo.Add(Trim(DmoJuanes.AlumnosCorreoel.Value)+';')
else
nVacios:=nVacios + 1;
end;
if nVacios > 0 then
ShowMessage('Atención: Se han encontrado direcciones incorrectas en la selección y se han omitido.');
ShellExecute(0, 'open', PAnsiChar('Mailto:'+stlcorreo.CommaText), nil, nil,0);
stlCorreo.Free;
end;
Un Saludo.