Exchange Connector non invierà ai domini esterni

Sono uno sviluppatore che cerca di get l'applicazione .Net per submit email via il nostro server di Exchange. Non sono un esperto di Exchange, quindi ti qualificherò davanti !!

Abbiamo impostato un connettore di ricezione in Exchange che dispone delle seguenti properties;:

  • Blocca le mail con gli indirizzi locali da mittenti non autenticati utilizzando corriere-esmtpd
  • Come fermare o impedire che forzare Postfix / smtpd / Sasl
  • falso "da" in un messaggio di posta elettronica
  • Un server SMTP flessibile che è open source o libero
  • iptables non lasciare SMTP attraverso
  • Impostazione dell'indirizzo IP utilizzato dal servizio SMTP in Windows Server 2008
    1. Rete: consente tutti gli indirizzi IP tramite port 25.

    2. Autenticazione: sono selezionate le caselle di controllo Trasporto livello di protezione e Esternamente protette.

    3. Gruppi di permessi: le caselle di controllo Anonimo utenti e server di Exchange vengono selezionate.

    Ma quando esegui l'istruzione Powershell sul nostro server di Exchange funziona quando invio a un indirizzo di dominio locale ma quando cerco di submit a un dominio remoto non riesce.

    LAVORI:

    C:\Windows\system32>Send-Mailmessage -To MYLOCALADDRESS@OURDOMAIN.com -From MYLOCALADDRESS@OURDOMAIN.com -Subject testing -Body testing -SmtpServer OURSERVER 

    (BTW: il mio valore per OURSERVER = boxname.domainname.local. Questo è lo stesso nome completo che viene visualizzato nel nostro Management Shell di Exchange quando lancio).

    NON RIESCE:

     C:\Windows\system32>Send-Mailmessage -To MYPERSONALADDRESS@gmail.com -From MYLOCALADDRESS@OURDOMAIN.com -Subject testing -Body testing -SmtpServer OURSERVER 

    Invia-MailMessage: La casella di posta non è disponibile. La risposta del server è stata: 5.7.1 Imansible relè In linea: 1 carattere: 17 + Invia-Messaggeria <<<< -To MYPERSONALADDRESS@gmail.com -Da MYLOCALADDRESS@OURDOMAIN.com -Testing del substrato -Body himom -SmtpServer FTI- EX + CategoriaInfo: InvalidOperation: (Sistema.Net.Mail.SmtpClient: SmtpClient) [Send-MailMessage], SmtpFailed RecipientException + FullyQualifiedErrorId: SmtpException, Microsoft.PowerShell.Commands.SendMailMessage

    EDIT: Dai consigli di @TheCleaner, ho eseguito l'Add-ADPermission al relè e non mi ha aiutato;

     [PS] C:\Windows\system32>Get-ReceiveConnector "Allowed Relay" | Add-ADPermission -User "NT AUTHORITY\ANONYMOUS LOGON" -ExtendedRights "Ms-Exch-SMTP-Accept-Any-Recipient" Identity User Deny Inherited -------- ---- ---- --------- FTI-EX\Allowed Relay NT AUTHORITY\ANON... False False 

    Grazie per l'aiuto. marchio

    4 Solutions collect form web for “Exchange Connector non invierà ai domini esterni”

    È necessario impostare un connettore di ricezione operante su una port non standard (forse 2525) e limitarlo a accettare solo indirizzi IP dei server che si conosce sono autorizzati a submit. Creare il connettore con niente contrassegnato in Autenticazione e gli utenti anonimi contrassegnati per i gruppi di autorizzazioni.

    Dopo di che dovrai eseguire il seguente command in PS come Exchange per impostazione predefinita bloccando anonimo in qualsiasi connettore di ricezione.

     Get-ReceiveConnector “Receive Connector Name” | Add-ADPermission -User “NT AUTHORITY\ANONYMOUS LOGON” -ExtendedRights “Ms-Exch-SMTP-Accept-Any-Recipient” 

    Ho appena provato questo sul mio server di scambio e sono riuscito a submit a gmail e al mio dominio, inviando dal dominio di scambio e da un dominio falso.

    Aggiungere anche l'argomento -port 2525 sul tuo script PS.

    Ci sono modi di relay al mondo esterno senza l'authentication della tua networking interna (creando un nuovo connettore SMTP sul tuo bordo o hub).

    Nella maggior parte delle circostanze è meglio impostare l'authentication se è ansible farlo. Questo funziona bene se stai solo inviando da una manciata di processi / script dedicati ecc.

    Se si desidera distriggersre non autenticato creare una nuova regola del connettore di ricezione hub. Per fare questo (supponendo che un singolo server di Exchange riempia tutti i ruoli di Exchange):

    Configurazione del server -> Trasporto Hub

    Utilizza tutti gli indirizzi IP disponibili per la tua ricezione e inserisci tutti gli host remoti che verranno trasmessi nell'impostazione di ricezione di posta da server remoti.

    Probabilmente non si desidera che uno dei methods di authentication (eventualmente TLS) e il gruppo di autorizzazioni siano impostati in modo anonimo.

    Suppongo che sia solo un server Exchange, niente di speciale con un filter gateway / spam, ecc.

    Sul connettore di ricezione (chiamarlo "Relay"):

    1. Assicurarsi che la "Ricezione di posta dai server remoti che dispongono di questi indirizzi IP" abbia gli indirizzi IP del server su cui eseguire questa applicazione.

    2. Sul rubinetto di authentication, l'unica cosa da verificare è "Esternamente protetta"

    3. Sui gruppi di authorization l'unica cosa da controllare è "Exchange Server"

    NOTA: se usi "Anonimo" come sembra nel tuo post originale, allora dovrai eseguire questo command nella shell di Exchange per get quel tipo di connettore di relè per funzionare:

     Get-ReceiveConnector "NAMEOFCONNECTOR" | Add-ADPermission -User "NT AUTHORITY\ANONYMOUS LOGON" -ExtendedRights "Ms-Exch-SMTP-Accept-Any-Recipient" 

    Quindi provare nuovamente l'applicazione da uno dei server il cui IP è al primo posto. Non provare direttamente sul server di Exchange.

    Questo potrebbe essere più di una soluzione, ma specificando le credenziali nello script dovrebbe consentire di submit esternamente senza richiedere alcuna modifica di configuration sul lato di Exchange.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.