2010-08-07 5 views
0

Je configure mon serveur Web sur l'EC2 d'Amazon. Mon site fonctionnait localement et utilisait le serveur SMTP de mon FAI pour envoyer des emails, ce qui n'était pas un problème auparavant - mais maintenant que les emails proviennent de l'extérieur de mon FAI, ils ne les acceptent pas.emailrelay "impossible de lier le port d'écoute"

Par conséquent, j'essaie the advice here d'utiliser EmailRelay pour transférer des emails, en ajoutant l'authentification, via mon compte sur Google.

J'ai suivi les instructions, a créé le fichier emailrelay.auth, exécutez la configure, make, make install, mais lorsque je tente de démarrer le service emailrelay Je reçois cette erreur:

$ emailrelay --as-proxy smtp.gmail.com:587 --client-tls --client-auth /etc/emailrelay.auth 
emailrelay: error: cannot bind the listening port: 0.0.0.0:25 
emailrelay: exception: cannot bind the listening port: 0.0.0.0:25 

J'ai regardé à travers le user guide, essayé en utilisant l'option --interface en pensant que cela pourrait être le problème - en fournissant diverses adresses IP, sans joie - et je ne sais pas quoi essayer ensuite.

(mon serveur est en cours d'exécution Oracle Enterprise Linux 5,1)

EDIT:

Depuis sendmail est en cours d'exécution sur le port 25, j'ai essayé un autre port. Maintenant, je reçois une nouvelle erreur:

$ emailrelay --as-proxy smtp.gmail.com:587 --client-tls --client-auth /etc/emailrelay.auth --port 8025 
emailrelay: error: cannot do tls/ssl: openssl not built in 
emailrelay: exception: cannot do tls/ssl: openssl not built in 

Après avoir tué sendmail, j'ai retenté avec le port 25 et je reçois la même erreur (« ne peut pas faire tls/ssl: OpenSSL pas construit en »).

EDIT:

On dirait OpenSSL n'est pas installé:

$ grep ssl config.log 
    $ ./configure --with-openssl 
configure:7373: checking for openssl 
conftest.cpp:31:25: error: openssl/ssl.h: No such file or directory 
| #include <openssl/ssl.h> 
configure:7431: WARNING: ignoring --with-openssl, check config.log and try setting CFLAGS 
config.status:719: creating src/gssl/Makefile 
+0

J'ai créé une nouvelle question sur serverfault pour continuer ... http://serverfault.com/questions/168780/send-emails-from-linux-via-google-smtp –

Répondre

1

L'erreur signifie qu'il ne peut pas obtenir l'accès exclusif au port 25 (le port par défaut pour SMTP). Cela est dû au fait qu'il est déjà utilisé ou parce que, en tant qu'utilisateur non privilégié, vous n'avez pas accès aux ports numérotés inférieurs à 1024.

Un programme peut déjà s'exécuter sur le port 25. Probablement sendmail, mais peut-être postfix ou qmail (je ne sais pas ce que Oracle utilise pour le courrier). Vous devrez fermer un tel programme.

Si vous fermez un logiciel de messagerie sur l'ordinateur et que vous exécutez la commande emailrelay en tant qu'utilisateur root, vous n'obtiendrez probablement pas ce message d'erreur.

+0

Merci, j'ai suivi les conseils à http: // aplawrence.com/SCOFAQ/FAQ_scotec4lsof.html et obtenu: $ lsof -i: 25 COMMANDE PID UTILISATEUR FD TYPE DISPOSITIF NOM TAILLE NODE sendmail 1377 4u racine IPv4 3863 TCP localhost.localdomain: smtp (LISTEN) Il ressemble sendmail est en cours d'exécution. –

+0

J'ai accepté ceci parce qu'il a répondu à ma question initiale. J'ai maintenant soulevé une autre question sur serverfault qui, je l'espère, me mènera à la ligne d'arrivée :) –

0

Je suis arrivé à cette question ayant le même problème sur une instance EC2 exécutant Ubuntu.

Pour Ubuntu:

  1. premier sudo apt-get install libssl-dev
  2. puis (re) lancer ./configure && make && sudo make install

Maintenant, soit en utilisant :25 si clair, ou un autre port d'alimentation à emailrelay --port 12345 fonctionne comme attendu.