Smtp Frage HELO local_host



  • Hi,

    ich habe hier einen Code zum senden einer Email
    über mein Programm.
    Allerdings würde ich gerne verhindern, dass Informationen
    über meinen PC mit gesendet werden (PC-Name momentane IP).
    Ich möchte anstelle (zumindest meiner Internet-IP) 192.168.0.1
    senden.

    Ist das machbar ? Muss ich dann local_host über das HELO nicht
    irgendwie modifizieren ?

    Der Code von dem ich glaube, dass da was machbar ist:

    if( !m_wsSMTPServer.Create() )
    	{
    		m_sError = _T( "Unable to create the socket." );
    		delete response_buf;
    		response_buf = NULL;
    		return FALSE;
    	}
    	if( !m_wsSMTPServer.Connect( GetServerHostName(), GetPort() ) )
    	{
    		m_sError = _T( "Unable to connect to server" );
    		m_wsSMTPServer.Close();
    		delete response_buf;
    		response_buf = NULL;
    		return FALSE;
    	}
    	if( !get_response( CONNECT_SUCCESS ) )
    	{
    		m_sError = _T( "Server didn't respond." );
    		m_wsSMTPServer.Close();
    		delete response_buf;
    		response_buf = NULL;
    		return FALSE;
    	}
    	gethostname( local_host, 80 ); // local_host = PC-Name gell ?
    	sHello.Format( _T( "HELO %s\r\n" ), local_host );  //SENDE ich nicht hier mein HELO mit meiner IP+PC-namen ?! Wie kann ich das abändern ?
    
    	m_wsSMTPServer.Send( (LPCTSTR)sHello, sHello.GetLength() );
    	if( !get_response( GENERIC_SUCCESS ) )
    	{
    		m_wsSMTPServer.Close();
    		delete response_buf;
    		response_buf = NULL;
    		return FALSE;
    	}
    	m_bConnected = TRUE;
    	return TRUE;
    


  • Wenn du einen Socket aufbaust hat die Gegenstelle immer deine IP. Was du für eine Domäne sendest bei HELO hängt vom Mailserver ab ob er die auch annimmt.

    Ließ dir dazu die SMTP-RFC durch.



  • Hi Unix-Tom,

    ok, das mit dem local_host hab ich geändert auf einen
    anderen Namen, als den von meinem PC.

    Die IP betreffend dachte ich an einen SmtpProxy ?
    Damit würde man doch aus der Mail beim Empfangen
    nicht meine IP ersehen können, sondern die vom Proxy,
    oder verstehe ich das falsch ?

    Bei codeproject habe ich eben etwas in diese Richtung
    gefunden. Mal sehen ob es geht ?!
    hat das ggf. schonmal jemand hier aus dem Forum gemacht ?


Anmelden zum Antworten