Wysyłanie e-mail

problemy z tworzeniem programów do obsługi sieci, internetu, e-mail itp..

Wysyłanie e-mail

Nowy postprzez Pitek » piÄ…tek, 1 stycznia 2010, 20:33

Witam mam problem z tym kodem :
Kod: Zaznacz cały
TIdAttachment *IdAtt = new TIdAttachment(IdMessage1->MessageParts, OpenDialog1->FileName);

Zwraca mi takie błędy :

[BCC32 Error] Unit6.cpp(86): E2352 Cannot create instance of abstract class 'TIdAttachment'
[BCC32 Error] Unit6.cpp(86): E2353 Class 'TIdAttachment' is abstract because of '_fastcall TIdAttachment::OpenLoadStream() = 0'
[BCC32 Warning] Unit6.cpp(88): W8004 'IdAtt' is assigned a value that is never used


Bardzo proszÄ™ o pomoc :)
Komputer służy do tego aby ułatwić Ci pracę, której bez niego w ogóle byś nie miał.
E.Murphy
http://piotrekprogramy.pl
Avatar użytkownika
Pitek
Kreacjusz
Kreacjusz
 
Posty: 290
Dołączył(a): środa, 14 października 2009, 14:53
Lokalizacja: Rybnik/Wrocław
PodziÄ™kowaÅ‚ : 43
OtrzymaÅ‚ podziÄ™kowaÅ„: 5
System operacyjny: Win 7 Ultimate 64bit SP1 / Ubuntu 19.04 LTS 64bit
Kompilator: Embarcadero RAD Studio XE2
SKYPE: pitek3010
Gadu Gadu: 7060047
    NieznanyNieznana

Re: Wysyłanie e-mail

Nowy postprzez Pitek » sobota, 2 stycznia 2010, 16:45

Sprawa rozwiÄ…zana

Kod: Zaznacz cały
#include <IdAttachmentFile.hpp>
[...]
TIdAttachmentFile(IdMessage1->MessageParts, OpenDialog1->FileName);
Komputer służy do tego aby ułatwić Ci pracę, której bez niego w ogóle byś nie miał.
E.Murphy
http://piotrekprogramy.pl
Avatar użytkownika
Pitek
Kreacjusz
Kreacjusz
 
Posty: 290
Dołączył(a): środa, 14 października 2009, 14:53
Lokalizacja: Rybnik/Wrocław
PodziÄ™kowaÅ‚ : 43
OtrzymaÅ‚ podziÄ™kowaÅ„: 5
System operacyjny: Win 7 Ultimate 64bit SP1 / Ubuntu 19.04 LTS 64bit
Kompilator: Embarcadero RAD Studio XE2
SKYPE: pitek3010
Gadu Gadu: 7060047
    NieznanyNieznana

Re: Wysyłanie e-mail

Nowy postprzez Pitek » niedziela, 3 stycznia 2010, 18:22

Dlaczego kod ponieżej wyrzuca mi błąd który dla mnie jest informacją ;/ :
Kod: Zaznacz cały
{
IdMessage1->From->Name = Edit1->Text; //pobiera nazwę nadawcy wiadomości
IdMessage1->From->Address = Edit2->Text; //pobiera adres e-mail nadawcy wiadomości
IdMessage1->Recipients->EMailAddresses = Edit3->Text; // pobiera adres e-mail odbiorcy wiadomości
IdMessage1->Subject = Edit5->Text; // pobiera tytuł (temat) wiadomości
IdMessage1->Body->Clear();
IdMessage1->Body->Append(Memo1->Text); //pobiera treść wiadomości

IdSMTP1->Host = Edit4->Text; // pobiera adres serwera SMTP
IdSMTP1->Password = Edit6->Text; // pobiera hasło nadawcy wiadomości
IdSMTP1->Username = Edit7->Text; // pobiera nazwę nadawcy wiadomości - ID użytkownika
//IdSMTP1->Authenticate() = atLogin; // wymagana autoryzacja
IdSMTP1->Port = 25;

//TIdAttachment *IdAtt = new TIdAttachment(IdMessage1->MessageParts, "c:\\cdcops.log"); // opcjonalnie

IdSMTP1->Connect();

try
{
  IdSMTP1->Send(IdMessage1);
}
__finally
{
  IdSMTP1->Disconnect();
}
}


BÅ‚Ä…d :

First chance exception at $7C812AFB. Exception class EIdSMTPReplyError with message 'Ok'.
Process Project1.exe (1900)



Dla mnie to jest potwierdzenie wysłania tylko czemu to wyskakuje jako błąd tak z ciekawości bo moge sobie to obsłużyć try - catch ?
Komputer służy do tego aby ułatwić Ci pracę, której bez niego w ogóle byś nie miał.
E.Murphy
http://piotrekprogramy.pl
Avatar użytkownika
Pitek
Kreacjusz
Kreacjusz
 
Posty: 290
Dołączył(a): środa, 14 października 2009, 14:53
Lokalizacja: Rybnik/Wrocław
PodziÄ™kowaÅ‚ : 43
OtrzymaÅ‚ podziÄ™kowaÅ„: 5
System operacyjny: Win 7 Ultimate 64bit SP1 / Ubuntu 19.04 LTS 64bit
Kompilator: Embarcadero RAD Studio XE2
SKYPE: pitek3010
Gadu Gadu: 7060047
    NieznanyNieznana

Re: Wysyłanie e-mail

Nowy postprzez Cyfrowy Baron » niedziela, 3 stycznia 2010, 18:43

1 grudnia 2009r. zmienił się port SMTP z 25 na 587.

http://info.poczta.interia.pl/pomoc/art ... portu-smtp

Ty używasz portu 25, przez który użytkownicy Neostrady nie mogą już wysyłać poczty. U innych operatorów działa wciąż port 25 ale też 587. Ja w swoim programie pocztowym już mieniłem numer portu dla serwera SMTP.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
PodziÄ™kowaÅ‚ : 12
OtrzymaÅ‚ podziÄ™kowaÅ„: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    NieznanyNieznana

Re: Wysyłanie e-mail

Nowy postprzez Pitek » niedziela, 3 stycznia 2010, 18:46

Zmieniłem tez wysyła ale błąd jest dalej.
Komputer służy do tego aby ułatwić Ci pracę, której bez niego w ogóle byś nie miał.
E.Murphy
http://piotrekprogramy.pl
Avatar użytkownika
Pitek
Kreacjusz
Kreacjusz
 
Posty: 290
Dołączył(a): środa, 14 października 2009, 14:53
Lokalizacja: Rybnik/Wrocław
PodziÄ™kowaÅ‚ : 43
OtrzymaÅ‚ podziÄ™kowaÅ„: 5
System operacyjny: Win 7 Ultimate 64bit SP1 / Ubuntu 19.04 LTS 64bit
Kompilator: Embarcadero RAD Studio XE2
SKYPE: pitek3010
Gadu Gadu: 7060047
    NieznanyNieznana

Re: Wysyłanie e-mail

Nowy postprzez Cyfrowy Baron » niedziela, 3 stycznia 2010, 18:59

Sprawdziłem w C++Builder 2010 i u mnie nie wyrzuca żadnych błędów.

Co wpisujesz tutaj: IdSMTP1->Username = Edit7->Text; // pobiera nazwę nadawcy wiadomości - ID użytkownika
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
PodziÄ™kowaÅ‚ : 12
OtrzymaÅ‚ podziÄ™kowaÅ„: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    NieznanyNieznana

Re: Wysyłanie e-mail

Nowy postprzez Pitek » niedziela, 3 stycznia 2010, 19:14

Mój adres e-mail czyli Edit7->Text="digimon2@go2.pl";
Ale co bym nie wpisał np. digimon2 lub digimon2@tlen.pl też błąd.
Komputer służy do tego aby ułatwić Ci pracę, której bez niego w ogóle byś nie miał.
E.Murphy
http://piotrekprogramy.pl
Avatar użytkownika
Pitek
Kreacjusz
Kreacjusz
 
Posty: 290
Dołączył(a): środa, 14 października 2009, 14:53
Lokalizacja: Rybnik/Wrocław
PodziÄ™kowaÅ‚ : 43
OtrzymaÅ‚ podziÄ™kowaÅ„: 5
System operacyjny: Win 7 Ultimate 64bit SP1 / Ubuntu 19.04 LTS 64bit
Kompilator: Embarcadero RAD Studio XE2
SKYPE: pitek3010
Gadu Gadu: 7060047
    NieznanyNieznana

Re: Wysyłanie e-mail

Nowy postprzez Cyfrowy Baron » niedziela, 3 stycznia 2010, 19:36

No to nie wiem. Najwyraźniej błędu nie wywołuje zamieszczony tutaj przez ciebie fragment kodu, tylko coś innego.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
PodziÄ™kowaÅ‚ : 12
OtrzymaÅ‚ podziÄ™kowaÅ„: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    NieznanyNieznana

Re: Wysyłanie e-mail

Nowy postprzez mckri » niedziela, 4 wrzeÅ›nia 2011, 17:46

Ja mam problem z nazwą załącznika. Otóż podaję w kodzie lokalizację pliku załącznika...
Kod: Zaznacz cały
TIdAttachmentFile *IdAtt = new TIdAttachmentFile( IdMessage1->MessageParts, "c:\\Zalacznik.txt");

...a po stronie adresata widzę zupełnie inną nazwę tegoż załącznika. Przykładowo poczta.o2.pl widzi załącznik pod nazwą 'zalacznik-1b270a-3.bin', poczta.wp.pl widzi ten sam załącznik jako 'bezNazwy2'.
W czym problem?
Avatar użytkownika
mckri
Intelektryk
Intelektryk
 
Posty: 160
Dołączył(a): piątek, 15 sierpnia 2008, 13:48
PodziÄ™kowaÅ‚ : 10
OtrzymaÅ‚ podziÄ™kowaÅ„: 2
System operacyjny: Windows Vista SP2
Kompilator: BCB 5/2007/2009
    Windows VistaOpera

Re: Wysyłanie e-mail

Nowy postprzez Cyfrowy Baron » niedziela, 4 wrzeÅ›nia 2011, 19:08

To jest chyba jakiś BUG bibliotek INDY w środowisku Embarcadero RAD Studio 2009:

http://qc.embarcadero.com/wc/qcmain.aspx?d=66867

Potrzebujesz nowszej wersji bibliotek INDY. W Embarcadero RAD Studio 2010 występuje INDY w wersji 10.5.5 i wysyłanie załącznika działa prawidłowo.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
PodziÄ™kowaÅ‚ : 12
OtrzymaÅ‚ podziÄ™kowaÅ„: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: Wysyłanie e-mail

Nowy postprzez mckri » czwartek, 13 października 2011, 18:48

Faktycznie, był bug w wersji Indy dla Rad Studio 2009 z poprawnym wysyłaniem załączników.

Wspomniany przez pitek3010 komunikat błędu
First chance exception at $7C812AFB. Exception class EIdSMTPReplyError with message 'Ok'.
Process Project1.exe (1900)

jest związany z rozłączeniem z serwerem. Tego nie wiem, ale być może jest to komunikat z serwera. U mnie zamiast
Kod: Zaznacz cały
IdSMTP1->Disconnect();

podałem
Kod: Zaznacz cały
IdSMTP1->Disconnect(false);
i komunikat 'Ok' sie nie pojawia.
Avatar użytkownika
mckri
Intelektryk
Intelektryk
 
Posty: 160
Dołączył(a): piątek, 15 sierpnia 2008, 13:48
PodziÄ™kowaÅ‚ : 10
OtrzymaÅ‚ podziÄ™kowaÅ„: 2
System operacyjny: Windows Vista SP2
Kompilator: BCB 5/2007/2009
    Windows VistaOpera


  • Podobne tematy
    Odpowiedzi
    Wyświetlone
    Ostatni post

Powrót do Aplikacje sieciowe

Kto przeglÄ…da forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 3 gości