Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie
C++

Wysyłanie E-Mail'aOpis zbędny

C++

  • Zamknięty Temat jest zamknięty
4 odpowiedzi w tym temacie

#1 MarWit

    The Chosen One

  • Przyjaciel

Reputacja: 843
Czempion

  • Postów:1 485
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Bystrzyca
Offline

Napisano 14.11.2011 16:40

Cześć! :)
Mam pytanie, jak można wysłać e-maila w c++ nie bawiąc sie winsock'iem ( chyba że ktoś posiada gotowy kod ).
  • +
  • -
  • 1

marwit-0.png


#2 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 981
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Online

Napisano 14.11.2011 16:47

tutaj masz dość dużo kodu
http://forum.4progra...g_HELO?p=457892
  • +
  • -
  • 1

#3 MarWit

    The Chosen One

  • Autor tematu
  • Przyjaciel

Reputacja: 843
Czempion

  • Postów:1 485
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Bystrzyca
Offline

Napisano 16.12.2011 20:07

Znalazłem wreszcie czas aby sie tym pobawić i napisałem coś takiego:
#include <stdlib.h>
#include <winsock2.h>
#include <stdio.h>
#include <windows.h>
#include <wininet.h>
#include <iostream>
#include <conio.h>

#pragma comment(lib, "Ws2_32.lib")

using namespace std;

int main()
{
	WSAData wsaData;
	char chBuffer[4096];

	if( WSAStartup( MAKEWORD( 2, 2 ), & wsaData ) != 0 )
	{
		cout << "Nie dziala.1." << endl;
		system("PAUSE");
		return 0;
	}

	SOCKET socClient = socket(AF_INET, SOCK_STREAM, 0);
	SOCKADDR_IN sin;

	sin.sin_port = htons(587);
	sin.sin_addr.s_addr = inet_addr("193.17.41.99");
	sin.sin_family = AF_INET;

	if(connect(socClient, (sockaddr*)&sin, sizeof(sin)) == INVALID_SOCKET)
	{
			closesocket(socClient);
			WSACleanup();
			system("PAUSE");
			return 0;
	}

	recv(socClient, chBuffer, sizeof(chBuffer), 0);
	send(socClient, "HELO\r\n", strlen("HELO\r\n"), 0);
	recv(socClient, chBuffer, sizeof(chBuffer), 0);

	char chHostName[256];
	gethostname(chHostName, 255);

	wsprintf(chBuffer, "EHLO %s\r\n", chHostName);
	send(socClient, chBuffer, strlen(chBuffer), 0);
	recv(socClient, chBuffer, sizeof(chBuffer), 0);

	send(socClient, "AUTH LOGIN\r\n", strlen("AUTH LOGIN\r\n"), 0);
	recv(socClient, chBuffer, sizeof(chBuffer), 0);

	send(socClient, "login_base64\r\n", strlen("login_base64\r\n"), 0);
	recv(socClient, chBuffer, sizeof(chBuffer), 0);

	send(socClient, "haslo_base64\r\n", strlen("haslo_base64\r\n"), 0);
	recv(socClient, chBuffer, sizeof(chBuffer), 0);

	send(socClient, "MAIL FROM: <[email protected]>\r\n", strlen("MAIL FROM: <[email protected]>\r\n"), 0);
	recv(socClient, chBuffer, sizeof(chBuffer), 0);

	send(socClient, "RCPT TO: <marwit@amxx.pl>\r\n", strlen("RCPT TO: <marwit@amxx.pl>\r\n"), 0);
	recv(socClient, chBuffer, sizeof(chBuffer), 0);

	send(socClient, "DATA\r\n", strlen("DATA\r\n"), 0);
	recv(socClient, chBuffer, sizeof(chBuffer), 0);

	send(socClient, "From: <[email protected]>\r\n", strlen("From: <[email protected]>\r\n"), 0);
	recv(socClient, chBuffer, sizeof(chBuffer), 0);

	send(socClient, "To: <marwit@amxx.pl>\r\n", strlen("To: <marwit@amxx.pl>\r\n"), 0);
	recv(socClient, chBuffer, sizeof(chBuffer), 0);

	send(socClient, "Subject: Test\r\n", strlen("Subject: Test\r\n"), 0);
	recv(socClient, chBuffer, sizeof(chBuffer), 0);

	send(socClient, "Test\n\r", strlen("Test\n\r"), 0);
	recv(socClient, chBuffer, sizeof(chBuffer), 0);

	send(socClient, ".\n\r", strlen(".\n\r"), 0);
	recv(socClient, chBuffer, sizeof(chBuffer), 0);
	
	send(socClient, "QUIT\n\r", strlen("QUIT\n\r"), 0);
	recv(socClient, chBuffer, sizeof(chBuffer), 0);


	closesocket(socClient);
	WSACleanup();

	return 0;
}

Problem w tym, że nie działa ( wykrzacza się przy wysyłaniu nagłówków "To: <>", "From: <>", itd. )
Wie może ktoś gdzie zrobiłem błąd?
  • +
  • -
  • 0

marwit-0.png


#4 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 981
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Online

Napisano 16.12.2011 21:42

wydaje mi się że używasz HELLO albo EHLO i wartości podajesz w [] lub <>
  • +
  • -
  • 0

#5 MarWit

    The Chosen One

  • Autor tematu
  • Przyjaciel

Reputacja: 843
Czempion

  • Postów:1 485
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Bystrzyca
Offline

Napisano 16.12.2011 21:58

@Up, no ale wszystko działa do tego momentu, więc to nie wina EHLO
send(socClient, "DATA\r\n", strlen("DATA\r\n"), 0);
recv(socClient, chBuffer, sizeof(chBuffer), 0);

  • +
  • -
  • 0

marwit-0.png






Również z jednym lub większą ilością słów kluczowych: C++

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych