C++ Builder'de mail gönderme, Outlook Expres
C++ Builder'de mail gönderme, Outlook Expres
Merhaba Arkadaşlar ;
Builder de veritabanımdan aldığım adreslere toplu mail göndermek istiyorum, Ayrıca Outlook Expresten de göndermem gerekiyor, Bu konuda yardımcı olabilir misiniz?
Builder de veritabanımdan aldığım adreslere toplu mail göndermek istiyorum, Ayrıca Outlook Expresten de göndermem gerekiyor, Bu konuda yardımcı olabilir misiniz?
Arkadaşlar, iyi güzel hoş ama oluyor, verdiğiniz adrese baktım, düzenlediğimde çalışmadı. Aslında Builderden outlook'a geçmesi de kâfi şuanda. O da olmuyor lazio indy'i araştırdım ancak sonuç alamadım, zaten acemiyim:)
Ben NMSMTP ile birşeyler yapmaya çalıştım ancak kendi host adreslerimiz haricindeki adreslere göndermiyor ve gelen kutum yok,,, Daha açık bir şekilde yol gösterir, açıklayabilirseniz sevinirim..
#include <vcl.h>
#pragma hdrstop
#include "Unit3.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "SUIButton"
#pragma link "SUIDBCtrls"
#pragma link "SUIEdit"
#pragma link "SUIForm"
#pragma link "SUIGroupBox"
#pragma link "SUIImagePanel"
#pragma link "SUIListBox"
#pragma link "SUIMemo"
#pragma link "SUIRadioGroup"
#pragma resource "*.dfm"
TForm3 *Form3;
//---------------------------------------------------------------------------
__fastcall TForm3::TForm3(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm3::NMSMTP1AttachmentNotFound(AnsiString Filename)
{
ShowMessage("Dosya transferi "+Filename+" başarısız");
}
//---------------------------------------------------------------------------
void __fastcall TForm3::NMSMTP1AuthenticationFailed(bool &Handled)
{
AnsiString S;
S = NMSMTP1->UserID;
if (InputQuery("Authentication Failed", "Invalid User ID. New User ID: ", S))
{
NMSMTP1->UserID = S;
Handled = TRUE;
Handled = TRUE;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm3::NMSMTP1Connect(TObject *Sender)
{
ShowMessage("Bağlandı");
}
//---------------------------------------------------------------------------
void __fastcall TForm3::NMSMTP1EncodeEnd(AnsiString Filename)
{
ShowMessage(Filename+" encoded");
}
//---------------------------------------------------------------------------
void __fastcall TForm3::NMSMTP1EncodeStart(AnsiString Filename)
{
ShowMessage(Filename+" encoded");
}
//---------------------------------------------------------------------------
void __fastcall TForm3::NMSMTP1Failure(TObject *Sender)
{
ShowMessage("Mesaj gönderme Başarısız");
}
//---------------------------------------------------------------------------
void __fastcall TForm3::NMSMTP1HeaderIncomplete(bool &handled, int hiType)
{
AnsiString S;
switch(hiType)
{
case hiFromAddress:
{
if (InputQuery("Eksik adres", "Adresi giriniz: ", S))
{
NMSMTP1->PostMessage->FromAddress = S;
handled = TRUE;
}
}
case hiToAddress:
{
if (InputQuery("Eksik adres", "Adresi giriniz: ", S))
{
NMSMTP1->PostMessage->ToAddress->Text = S;
handled = TRUE;
}
}
}
}
//---------------------------------------------------------------------------
void __fastcall TForm3::NMSMTP1RecipientNotFound(AnsiString Recipient)
{
ShowMessage("Recipient "+Recipient+" not found");
}
//---------------------------------------------------------------------------
void __fastcall TForm3::NMSMTP1SendStart(TObject *Sender)
{
ShowMessage("Mesaj Gönderildi");
}
//---------------------------------------------------------------------------
void __fastcall TForm3::NMSMTP1Success(TObject *Sender)
{
ShowMessage("Mesaj Kaydedildi");
}
//---------------------------------------------------------------------------
void __fastcall TForm3::Button4Click(TObject *Sender)
{
int toplam;
toplam=0;
ADOTable1->First();
while(!ADOTable1->Eof)
{
toplam=toplam++;
Memo1->Lines->Add(DBGrid1->Fields[2]->AsString);
Memo1->Lines->Add(DBGrid1->Fields[3]->AsString);
ADOTable1->Next();
}
}
//---------------------------------------------------------------------------
void __fastcall TForm3::Button3Click(TObject *Sender)
{
NMSMTP1->ClearParameters();
Edit3->Clear();
Edit4->Clear();
Edit5->Clear();
Edit6->Clear();
Edit7->Clear();
Edit8->Clear();
Memo1->Clear();
Memo2->Clear();
Memo3->Clear();
Memo4->Clear();
ListBox1->Clear();
}
//---------------------------------------------------------------------------
void __fastcall TForm3::Button2Click(TObject *Sender)
{
if (NMSMTP1->Connected)
{
NMSMTP1->ClearParams = CheckBox1->Checked;
NMSMTP1->SubType = mtPlain;
switch(RadioGroup1->ItemIndex)
{
case 0: NMSMTP1->EncodeType = uuMime;
case 1: NMSMTP1->EncodeType = uuCode;
}
NMSMTP1->PostMessage->FromAddress = Edit4->Text;
NMSMTP1->PostMessage->FromName = Edit5->Text;
NMSMTP1->PostMessage->ToAddress->Text = Memo1->Text;
NMSMTP1->PostMessage->ToCarbonCopy->Text = Memo3->Text;
NMSMTP1->PostMessage->ToBlindCarbonCopy->Text = Memo2->Text;
NMSMTP1->PostMessage->Body->Text = Memo4->Text;
NMSMTP1->PostMessage->Attachments->Text = ListBox1->Items->Text;
NMSMTP1->PostMessage->Subject = Edit8->Text;
NMSMTP1->PostMessage->LocalProgram = Edit6->Text;
NMSMTP1->PostMessage->Date = Edit3->Text;
NMSMTP1->PostMessage->ReplyTo = Edit7->Text;
NMSMTP1->SendMail();
}
else
ShowMessage("Mesaj gönderebilmek için bağlantı yapmanız gerekiyor");
}
//---------------------------------------------------------------------------
void __fastcall TForm3::suiButton1Click(TObject *Sender)
{
if (NMSMTP1->Connected)
NMSMTP1->Disconnect();
else
{
NMSMTP1->Host = Edit1->Text;
NMSMTP1->UserID = Edit2->Text;
NMSMTP1->Connect();
}
}
//---------------------------------------------------------------------------
[/list]
Ben NMSMTP ile birşeyler yapmaya çalıştım ancak kendi host adreslerimiz haricindeki adreslere göndermiyor ve gelen kutum yok,,, Daha açık bir şekilde yol gösterir, açıklayabilirseniz sevinirim..
#include <vcl.h>
#pragma hdrstop
#include "Unit3.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "SUIButton"
#pragma link "SUIDBCtrls"
#pragma link "SUIEdit"
#pragma link "SUIForm"
#pragma link "SUIGroupBox"
#pragma link "SUIImagePanel"
#pragma link "SUIListBox"
#pragma link "SUIMemo"
#pragma link "SUIRadioGroup"
#pragma resource "*.dfm"
TForm3 *Form3;
//---------------------------------------------------------------------------
__fastcall TForm3::TForm3(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm3::NMSMTP1AttachmentNotFound(AnsiString Filename)
{
ShowMessage("Dosya transferi "+Filename+" başarısız");
}
//---------------------------------------------------------------------------
void __fastcall TForm3::NMSMTP1AuthenticationFailed(bool &Handled)
{
AnsiString S;
S = NMSMTP1->UserID;
if (InputQuery("Authentication Failed", "Invalid User ID. New User ID: ", S))
{
NMSMTP1->UserID = S;
Handled = TRUE;
Handled = TRUE;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm3::NMSMTP1Connect(TObject *Sender)
{
ShowMessage("Bağlandı");
}
//---------------------------------------------------------------------------
void __fastcall TForm3::NMSMTP1EncodeEnd(AnsiString Filename)
{
ShowMessage(Filename+" encoded");
}
//---------------------------------------------------------------------------
void __fastcall TForm3::NMSMTP1EncodeStart(AnsiString Filename)
{
ShowMessage(Filename+" encoded");
}
//---------------------------------------------------------------------------
void __fastcall TForm3::NMSMTP1Failure(TObject *Sender)
{
ShowMessage("Mesaj gönderme Başarısız");
}
//---------------------------------------------------------------------------
void __fastcall TForm3::NMSMTP1HeaderIncomplete(bool &handled, int hiType)
{
AnsiString S;
switch(hiType)
{
case hiFromAddress:
{
if (InputQuery("Eksik adres", "Adresi giriniz: ", S))
{
NMSMTP1->PostMessage->FromAddress = S;
handled = TRUE;
}
}
case hiToAddress:
{
if (InputQuery("Eksik adres", "Adresi giriniz: ", S))
{
NMSMTP1->PostMessage->ToAddress->Text = S;
handled = TRUE;
}
}
}
}
//---------------------------------------------------------------------------
void __fastcall TForm3::NMSMTP1RecipientNotFound(AnsiString Recipient)
{
ShowMessage("Recipient "+Recipient+" not found");
}
//---------------------------------------------------------------------------
void __fastcall TForm3::NMSMTP1SendStart(TObject *Sender)
{
ShowMessage("Mesaj Gönderildi");
}
//---------------------------------------------------------------------------
void __fastcall TForm3::NMSMTP1Success(TObject *Sender)
{
ShowMessage("Mesaj Kaydedildi");
}
//---------------------------------------------------------------------------
void __fastcall TForm3::Button4Click(TObject *Sender)
{
int toplam;
toplam=0;
ADOTable1->First();
while(!ADOTable1->Eof)
{
toplam=toplam++;
Memo1->Lines->Add(DBGrid1->Fields[2]->AsString);
Memo1->Lines->Add(DBGrid1->Fields[3]->AsString);
ADOTable1->Next();
}
}
//---------------------------------------------------------------------------
void __fastcall TForm3::Button3Click(TObject *Sender)
{
NMSMTP1->ClearParameters();
Edit3->Clear();
Edit4->Clear();
Edit5->Clear();
Edit6->Clear();
Edit7->Clear();
Edit8->Clear();
Memo1->Clear();
Memo2->Clear();
Memo3->Clear();
Memo4->Clear();
ListBox1->Clear();
}
//---------------------------------------------------------------------------
void __fastcall TForm3::Button2Click(TObject *Sender)
{
if (NMSMTP1->Connected)
{
NMSMTP1->ClearParams = CheckBox1->Checked;
NMSMTP1->SubType = mtPlain;
switch(RadioGroup1->ItemIndex)
{
case 0: NMSMTP1->EncodeType = uuMime;
case 1: NMSMTP1->EncodeType = uuCode;
}
NMSMTP1->PostMessage->FromAddress = Edit4->Text;
NMSMTP1->PostMessage->FromName = Edit5->Text;
NMSMTP1->PostMessage->ToAddress->Text = Memo1->Text;
NMSMTP1->PostMessage->ToCarbonCopy->Text = Memo3->Text;
NMSMTP1->PostMessage->ToBlindCarbonCopy->Text = Memo2->Text;
NMSMTP1->PostMessage->Body->Text = Memo4->Text;
NMSMTP1->PostMessage->Attachments->Text = ListBox1->Items->Text;
NMSMTP1->PostMessage->Subject = Edit8->Text;
NMSMTP1->PostMessage->LocalProgram = Edit6->Text;
NMSMTP1->PostMessage->Date = Edit3->Text;
NMSMTP1->PostMessage->ReplyTo = Edit7->Text;
NMSMTP1->SendMail();
}
else
ShowMessage("Mesaj gönderebilmek için bağlantı yapmanız gerekiyor");
}
//---------------------------------------------------------------------------
void __fastcall TForm3::suiButton1Click(TObject *Sender)
{
if (NMSMTP1->Connected)
NMSMTP1->Disconnect();
else
{
NMSMTP1->Host = Edit1->Text;
NMSMTP1->UserID = Edit2->Text;
NMSMTP1->Connect();
}
}
//---------------------------------------------------------------------------
[/list]
Outlook'u automation yoluyla kullanarak kolay bir şekilde halledebilirsiniz.
Mesela burdan başlayabilirsiniz
http://support.microsoft.com/default.as ... -us;161088
Mesela burdan başlayabilirsiniz
http://support.microsoft.com/default.as ... -us;161088
lazio, delphide outlooka geçişle ilgili
procedure TForm1.BitBtn1Click(Sender: TObject);
var
strmsg: String;
begin
//Temel bilgileri ayarla
strmsg :='Mailto:' + Form1.DbEdit1.Text;//e-mail adres
ShellExecute(Handle, 'open', pChar (strMsg), '', '', SW_SHOW);
end;
kodları verilmiş,
bunları buildere uyarlamaya çalıştım olmadı,sadece adreslerioutlooka atıp geçiş yapsa da kâfi
procedure TForm1.BitBtn1Click(Sender: TObject);
var
strmsg: String;
begin
//Temel bilgileri ayarla
strmsg :='Mailto:' + Form1.DbEdit1.Text;//e-mail adres
ShellExecute(Handle, 'open', pChar (strMsg), '', '', SW_SHOW);
end;
kodları verilmiş,
bunları buildere uyarlamaya çalıştım olmadı,sadece adreslerioutlooka atıp geçiş yapsa da kâfi
-
- Kıdemli Üye
- Mesajlar: 1223
- Kayıt: 26 Nis 2005 04:08
String strmsg;
{
//Temel bilgileri ayarla
strmsg ="Mailto:" + Form1->Edit1->Text;//e-mail adres
ShellExecute(Handle,"open",*pChar(strmsg),"","", SW_SHOW);
}
diye yazınca
[C++ Error] Unit1.cpp(25): E2268 Call to undefined function 'pChar'
[C++ Error] Unit1.cpp(25): E2062 Invalid indirection
diye hatalr veriyor
{
//Temel bilgileri ayarla
strmsg ="Mailto:" + Form1->Edit1->Text;//e-mail adres
ShellExecute(Handle,"open",*pChar(strmsg),"","", SW_SHOW);
}
diye yazınca
[C++ Error] Unit1.cpp(25): E2268 Call to undefined function 'pChar'
[C++ Error] Unit1.cpp(25): E2062 Invalid indirection
diye hatalr veriyor
char* URL = "mailto:deneme@deneme.com";
rcode = ShellExecute( NULL, "open", URL, NULL, "C:\\", SW_SHOW );
rcode = ShellExecute( NULL, "open", URL, NULL, "C:\\", SW_SHOW );