Merhaba
mapi ile çoklu mail göndermek istediğimde gitmiyor. Mailleri for döngusuyle tek tek göndermek zorunda kalıyorum. Mali ile (Outlook üzerinden çoklu mail nasıl gonderebılırıö. Fikriniz var mı?
mapi ile çoklu mail gönderme(Farklı Sorun)
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
mapi ile çoklu mail gönderme(Farklı Sorun)
En son Delhici tarafından 26 Haz 2015 01:11 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
http://www.bargem.info
Yaşıyorum..... İnadına değil yaptıklarım. Herşey istediğim için oluyor. İstediğim için türkü dinliyorum. İstediğim için çalışıyorum. İstediğim için yaşıyorum ve istediğim için seni seviyorum...
Yaşıyorum..... İnadına değil yaptıklarım. Herşey istediğim için oluyor. İstediğim için türkü dinliyorum. İstediğim için çalışıyorum. İstediğim için yaşıyorum ve istediğim için seni seviyorum...
Re: mapi ile çoklu mail gönderme
Kullandığım fonksiyon aşağıdaki gibi
Kod: Tümünü seç
function SendMAPIEmail(const aTo, aCC, aBCC, aAtts: array of string; const body, subject, SenderName, SenderEmail: string;
ShowError: Boolean = true): Integer;
var
SM: TFNMapiSendMail;
MAPIModule: HModule;
Msg: MapiMessage;
lpSender: MapiRecipDesc;
Recips: array of MapiRecipDesc;
Att: array of MapiFileDesc;
p1, p2, p3, LenTo, LenCC, LenBCC, LenAtts: Integer;
sError: String;
begin
try
FillChar(Msg, SizeOf(Msg), 0);
{ get the length of all arrays passed to this function }
LenTo := length(aTo);
if Trim(aCC[0]) <> '' then
LenCC := length(aCC)
else
LenCC := 0;
if Trim(aBCC[0]) <> '' then
LenBCC := length(aBCC)
else
LenBCC := 0;
if Trim(aAtts[0]) <> '' then
LenAtts := length(aAtts)
else
LenAtts := 0;
{ ... }
Setlength(Recips, LenTo + LenCC + LenBCC);
Setlength(Att, LenAtts);
{ to }
for p1 := 0 to LenTo - 1 do
begin
FillChar(Recips[p1], SizeOf(Recips[p1]), 0);
Recips[p1].ulReserved := 0;
Recips[p1].ulRecipClass := MAPI_TO;
{ Upgrade }
Recips[p1].lpszName := pAnsichar(AnsiString(aTo[p1]));
Recips[p1].lpszAddress := '';
end;
{ cc }
for p2 := 0 to LenCC - 1 do
begin
FillChar(Recips[p1 + p2], SizeOf(Recips[p1 + p2]), 0);
Recips[p1 + p2].ulReserved := 0;
Recips[p1 + p2].ulRecipClass := MAPI_CC;
{ Upgrade }
Recips[p1 + p2].lpszName := pAnsichar(AnsiString(aCC[p2]));
Recips[p1 + p2].lpszAddress := '';
end;
{ bcc }
for p3 := 0 to LenBCC - 1 do
begin
FillChar(Recips[p1 + p2 + p3], SizeOf(Recips[p1 + p2 + p3]), 0);
Recips[p1 + p2 + p3].ulReserved := 0;
Recips[p1 + p2 + p3].ulRecipClass := MAPI_BCC;
{ Upgrade }
Recips[p1 + p2 + p3].lpszName := pAnsichar(AnsiString(aBCC[p3]));
Recips[p1 + p2 + p3].lpszAddress := '';
end;
{ atts }
for p1 := 0 to LenAtts - 1 do
begin
FillChar(Att[p1], SizeOf(Att[p1]), 0);
Att[p1].ulReserved := 0;
Att[p1].flFlags := 0;
Att[p1].nPosition := Cardinal($FFFFFFFF);
{ Upgrade }
Att[p1].lpszPathName := pAnsichar(AnsiString(aAtts[p1]));
Att[p1].lpszFileName := '';
Att[p1].lpFileType := nil;
end;
{ fill the message }
with Msg do
begin
ulReserved := 0;
if subject <> '' then
{ Upgrade }
lpszSubject := pAnsichar(AnsiString(subject));
if body <> '' then
{ Upgrade }
lpszNoteText := pAnsichar(AnsiString(body));
if SenderEmail <> '' then
begin
lpSender.ulRecipClass := MAPI_ORIG;
if SenderName = '' then
lpSender.lpszName := pAnsichar(AnsiString(SenderEmail))
else
lpSender.lpszName := pAnsichar(AnsiString(SenderName));
lpSender.lpszAddress := pAnsichar(AnsiString(SenderEmail));
lpSender.ulEIDSize := 0;
lpSender.lpEntryID := nil;
lpOriginator := @lpSender;
end
else
Msg.lpOriginator := nil;
Msg.lpszMessageType := nil;
Msg.lpszDateReceived := nil;
Msg.lpszConversationID := nil;
Msg.flFlags := 0;
Msg.nRecipCount := LenTo + LenCC + LenBCC;
Msg.lpRecips := @Recips[0];
Msg.nFileCount := LenAtts;
Msg.lpFiles := @Att[0];
end;
MAPIModule := LoadLibrary(PChar(MAPIDLL));
if MAPIModule = 0 then
Result := -1
else
try
@SM := GetProcAddress(MAPIModule, 'MAPISendMail');
if @SM <> nil then
begin
Result := SM(0, application.Handle, Msg, { MAPI_DIALOG or } MAPI_LOGON_UI, 0);
end
else
Result := 1;
finally
FreeLibrary(MAPIModule);
end;
if Result <> SUCCESS_SUCCESS then
begin
case Result of
MAPI_E_ACCESS_DENIED:
sError := 'Giriş Reddedildi.';
MAPI_E_AMBIGUOUS_RECIPIENT:
sError := 'Ambiguous recipient.';
MAPI_E_ATTACHMENT_NOT_FOUND:
sError := 'Ek Bulunamadı.';
MAPI_E_ATTACHMENT_OPEN_FAILURE:
sError := 'Ek Açık Durumda.';
MAPI_E_ATTACHMENT_WRITE_FAILURE:
sError := 'Ek Yazdırılamadı';
MAPI_E_BAD_RECIPTYPE:
sError := 'Alıcı Adresi Geçersiz';
MAPI_E_DISK_FULL:
sError := 'Disk Dolu.';
MAPI_E_FAILURE:
sError := 'Hata';
MAPI_E_INSUFFICIENT_MEMORY:
sError := 'Insufficient Memory.';
MAPI_E_INVALID_EDITFIELDS:
sError := 'Geçersiz Alan Düzenlemesi.';
MAPI_E_INVALID_MESSAGE:
sError := 'Geçersiz Mesaj.';
MAPI_E_INVALID_RECIPS:
sError := 'Geçersiz Alıcı.';
MAPI_E_INVALID_SESSION:
sError := 'Geçersiz Oturum.';
MAPI_E_LOGIN_FAILURE:
sError := 'Login Hatası.';
MAPI_E_MESSAGE_IN_USE:
sError := 'Message in use.';
MAPI_E_NETWORK_FAILURE:
sError := 'Ağ Hatası.';
MAPI_E_NO_MESSAGES:
sError := 'Mesaj Yok.';
MAPI_E_NOT_SUPPORTED:
sError := 'Geçerli Değil.';
MAPI_E_TEXT_TOO_LARGE:
sError := 'Text too large.';
MAPI_E_TOO_MANY_FILES:
sError := 'Too many files.';
MAPI_E_TOO_MANY_RECIPIENTS:
sError := 'Too many recipients.';
MAPI_E_TOO_MANY_SESSIONS:
sError := 'Too many sessions.';
MAPI_E_TYPE_NOT_SUPPORTED:
sError := 'Geçersiz Dosya Tipi.';
MAPI_E_UNKNOWN_RECIPIENT:
sError := 'Geçersiz Alıcı';
MAPI_E_USER_ABORT:
sError := 'Kullanıcı İptal etti';
end;
if sError <> '' then
begin
MessageDlg('Mail Gönderilemedi. ' + sError, mtInformation, [mbOk], 0);
Exit;
end;
end;
finally
end;
end;
http://www.bargem.info
Yaşıyorum..... İnadına değil yaptıklarım. Herşey istediğim için oluyor. İstediğim için türkü dinliyorum. İstediğim için çalışıyorum. İstediğim için yaşıyorum ve istediğim için seni seviyorum...
Yaşıyorum..... İnadına değil yaptıklarım. Herşey istediğim için oluyor. İstediğim için türkü dinliyorum. İstediğim için çalışıyorum. İstediğim için yaşıyorum ve istediğim için seni seviyorum...
Re: mapi ile çoklu mail gönderme
Fonksiyon çoklu gönderimi destekler şekilde yazılmış görünüyor.
Muhtemelen biliyorsunuzdur; gönderilen yerde de MAPInin desteklendiği bir e-posta programı olmalı. Belki gitmeyenlerdeki sorun budur.
Muhtemelen biliyorsunuzdur; gönderilen yerde de MAPInin desteklendiği bir e-posta programı olmalı. Belki gitmeyenlerdeki sorun budur.
There's no place like 127.0.0.1
Re: mapi ile çoklu mail gönderme (Çözüldü!)
Gitmedi kardeş.... ama sorunu çözdüm.. Aşağıdaki component tam istediğim gibi... Yine de sağol ...
http://delphi.xcjc.net/viewthread.php?tid=49162
http://delphi.xcjc.net/viewthread.php?tid=49162
http://www.bargem.info
Yaşıyorum..... İnadına değil yaptıklarım. Herşey istediğim için oluyor. İstediğim için türkü dinliyorum. İstediğim için çalışıyorum. İstediğim için yaşıyorum ve istediğim için seni seviyorum...
Yaşıyorum..... İnadına değil yaptıklarım. Herşey istediğim için oluyor. İstediğim için türkü dinliyorum. İstediğim için çalışıyorum. İstediğim için yaşıyorum ve istediğim için seni seviyorum...
Re: mapi ile çoklu mail gönderme(BaşkaSorun)
Şimdi de şöyle bir sorun var .
mapi ile listbox içeriğini mail olarak gönderiyrum. Ama listbox u ne kadar biçimlendirirsem biçimlendireyim, maile hiç biçimlendirilmemiş halde gidiyor. Yani düz metin olarak gidiyor. HTML formatında gönderme şansım var mı? Buna nasıl bir çözüm bulabileceğiz? Fikriniz var mı?
mapi ile listbox içeriğini mail olarak gönderiyrum. Ama listbox u ne kadar biçimlendirirsem biçimlendireyim, maile hiç biçimlendirilmemiş halde gidiyor. Yani düz metin olarak gidiyor. HTML formatında gönderme şansım var mı? Buna nasıl bir çözüm bulabileceğiz? Fikriniz var mı?
http://www.bargem.info
Yaşıyorum..... İnadına değil yaptıklarım. Herşey istediğim için oluyor. İstediğim için türkü dinliyorum. İstediğim için çalışıyorum. İstediğim için yaşıyorum ve istediğim için seni seviyorum...
Yaşıyorum..... İnadına değil yaptıklarım. Herşey istediğim için oluyor. İstediğim için türkü dinliyorum. İstediğim için çalışıyorum. İstediğim için yaşıyorum ve istediğim için seni seviyorum...