web-dev-qa-db-fra.com

SMTP ne fonctionne pas lorsque vous essayez d'envoyer un courrier du client de messagerie

Le serveur de messagerie fonctionne bien lorsque vous envoyez un courrier de serveur, mais lorsque j'utilise un client de messagerie, il ne fonctionne pas.

J'ai trouvé cela dans les journaux:

Jul 12 19:45:04 tvsite postfix/smtpd[3356]: warning: hostname adsl-bb29-l44 does not resolve to address xxx.xxx.xxx.xxx: Name or service not known
Jul 12 19:45:04 tvsite postfix/smtpd[3356]: connect from unknown[xxx.xxx.xxx.xxx]
Jul 12 19:45:04 tvsite postfix/smtpd[3356]: NOQUEUE: reject: RCPT from unknown[xxx.xxx.xxx.xxx4]: 454 4.7.1 <[email protected]>: Relay access denied; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<S>
Jul 12 19:45:04 tvsite postfix/smtpd[3356]: lost connection after RCPT from unknown[xxx.xxx.xxx.xxx]
Jul 12 19:45:04 tvsite postfix/smtpd[3356]: disconnect from unknown[xxx.xxx.xxx.xxx]

Aussi mon message de messagerie à ce message:

Client does not have permission to submit mail to this server. The server response was: 4.7.1 <[email protected]>: Relay access denied

C'est mon main.cf pour postfix:

# INTERNET Host AND DOMAIN NAMES
# 
# The myhostname parameter specifies the internet hostname of this
# mail system. The default is to use the fully-qualified domain name
# from gethostname(). $myhostname is used as a default value for many
# other configuration parameters.
#
myhostname = tvsite.tvsite.uni.me

# The mydomain parameter specifies the local internet domain name.
# The default is to use $myhostname minus the first component.
# $mydomain is used as a default value for many other configuration
# parameters.
#
mydomain = tvsite.uni.me

# SENDING MAIL
# 
# The myorigin parameter specifies the domain that locally-posted
# mail appears to come from. The default is to append $myhostname,
# which is fine for small sites.  If you run a domain with multiple
# machines, you should (1) change this to $mydomain and (2) set up
# a domain-wide alias database that aliases each user to
# [email protected].
#
# For the sake of consistency between sender and recipient addresses,
# myorigin also specifies the default domain name that is appended
# to recipient addresses that have no @domain part.
#
myorigin = $myhostname

# RECEIVING MAIL

# The inet_interfaces parameter specifies the network interface
# addresses that this mail system receives mail on.  By default,
# the software claims all active interfaces on the machine. The
# parameter also controls delivery of mail to user@[ip.address].
#
# See also the proxy_interfaces parameter, for network addresses that
# are forwarded to us via a proxy or network address translator.
#
# Note: you need to stop/start Postfix when this parameter changes.
#
inet_interfaces = all

# The mydestination parameter specifies the list of domains that this
# machine considers itself the final destination for.
#
# These domains are routed to the delivery agent specified with the
# local_transport parameter setting. By default, that is the UNIX
# compatible delivery agent that lookups all recipients in /etc/passwd
# and /etc/aliases or their equivalent.
#
# The default is $myhostname + localhost.$mydomain.  On a mail domain
# gateway, you should also include $mydomain.
#
# Do not specify the names of virtual domains - those domains are
# specified elsewhere (see VIRTUAL_README).
#
# Do not specify the names of domains that this machine is backup MX
# Host for. Specify those names via the relay_domains settings for
# the SMTP server, or use permit_mx_backup if you are lazy (see
# STANDARD_CONFIGURATION_README).
#
# The local machine is always the final destination for mail addressed
# to user@[the.net.work.address] of an interface that the mail system
# receives mail on (see the inet_interfaces parameter).
#
# Specify a list of Host or domain names, /file/name or type:table
# patterns, separated by commas and/or whitespace. A /file/name
# pattern is replaced by its contents; a type:table is matched when
# a name matches a lookup key (the right-hand side is ignored).
# Continue long lines by starting the next line with whitespace.
#
# See also below, section "REJECTING MAIL FOR UNKNOWN LOCAL USERS".
#
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain

# The unknown_local_recipient_reject_code specifies the SMTP server
# response code when a recipient domain matches $mydestination or
# ${proxy,inet}_interfaces, while $local_recipient_maps is non-empty
# and the recipient address or address local-part is not found.
#
# The default setting is 550 (reject mail) but it is safer to start
# with 450 (try again later) until you are certain that your
# local_recipient_maps settings are OK.
#
unknown_local_recipient_reject_code = 550

# TRUST AND RELAY CONTROL

# The mynetworks parameter specifies the list of "trusted" SMTP
# clients that have more privileges than "strangers".
#
# In particular, "trusted" SMTP clients are allowed to relay mail
# through Postfix.  See the smtpd_recipient_restrictions parameter
# in postconf(5).
#
# You can specify the list of "trusted" network addresses by hand
# or you can let Postfix do it for you (which is the default).
#
# By default (mynetworks_style = subnet), Postfix "trusts" SMTP
# clients in the same IP subnetworks as the local machine.
# On Linux, this does works correctly only with interfaces specified
# with the "ifconfig" command.
# 
# Specify "mynetworks_style = class" when Postfix should "trust" SMTP
# clients in the same IP class A/B/C networks as the local machine.
# Don't do this with a dialup site - it would cause Postfix to "trust"
# your entire provider's network.  Instead, specify an explicit
# mynetworks list by hand, as described below.
#  
# Specify "mynetworks_style = Host" when Postfix should "trust"
# only the local machine.
# 
#mynetworks_style = class
#mynetworks_style = subnet
#mynetworks_style = Host
mynetworks =  178.32.152.29 127.0.0.0/8

# ALIAS DATABASE
#
# The alias_maps parameter specifies the list of alias databases used
# by the local delivery agent. The default list is system dependent.
#
# On systems with NIS, the default is to search the local alias
# database, then the NIS alias database. See aliases(5) for syntax
# details.
# 
# If you change the alias database, run "postalias /etc/aliases" (or
# wherever your system stores the mail alias file), or simply run
# "newaliases" to build the necessary DBM or DB file.
#
# It will take a minute or so before changes become visible.  Use
# "postfix reload" to eliminate the delay.
#
alias_maps = hash:/etc/postfix/aliases

# The alias_database parameter specifies the alias database(s) that
# are built with "newaliases" or "sendmail -bi".  This is a separate
# configuration parameter, because alias_maps (see above) may specify
# tables that are not necessarily all under control by Postfix.
#
alias_database = hash:/etc/postfix/aliases

# DELIVERY TO MAILBOX
#
# The home_mailbox parameter specifies the optional pathname of a
# mailbox file relative to a user's home directory. The default
# mailbox file is /var/spool/mail/user or /var/mail/user.  Specify
# "Maildir/" for qmail-style delivery (the / is required).
#
home_mailbox = Maildir/

# The mail_spool_directory parameter specifies the directory where
# UNIX-style mailboxes are kept. The default setting depends on the
# system type.
#
mail_spool_directory = /var/mail

# DEBUGGING CONTROL
#
# The debug_peer_level parameter specifies the increment in verbose
# logging level when an SMTP client or server Host name or address
# matches a pattern in the debug_peer_list parameter.
#
debug_peer_level = 2

# The debugger_command specifies the external command that is executed
# when a Postfix daemon program is run with the -D option.
#
# Use "command .. & sleep 5" so that the debugger can attach before
# the process marches on. If you use an X-based debugger, be sure to
# set up your XAUTHORITY environment variable before starting Postfix.
#
debugger_command =
     PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
     ddd $daemon_directory/$process_name $process_id & sleep 5

# If you can't use X, use this to capture the call stack when a
# daemon crashes. The result is in a file in the configuration
# directory, and is named after the process name and the process ID.
#
# debugger_command =
#   PATH=/bin:/usr/bin:/usr/local/bin; export PATH; (echo cont;
#   echo where) | gdb $daemon_directory/$process_name $process_id 2>&1
#   >$config_directory/$process_name.$process_id.log & sleep 5
#
# Another possibility is to run gdb under a detached screen session.
# To attach to the screen sesssion, su root and run "screen -r
# <id_string>" where <id_string> uniquely matches one of the detached
# sessions (from "screen -list").
#
# debugger_command =
#   PATH=/bin:/usr/bin:/sbin:/usr/sbin; export PATH; screen
#   -dmS $process_name gdb $daemon_directory/$process_name
#   $process_id & sleep 1

# INSTALL-TIME CONFIGURATION INFORMATION
#
# The following parameters are used when installing a new Postfix version.
# 
# sendmail_path: The full pathname of the Postfix sendmail command.
# This is the Sendmail-compatible mail posting interface.
# 
sendmail_path = /usr/sbin/sendmail

# newaliases_path: The full pathname of the Postfix newaliases command.
# This is the Sendmail-compatible command to build alias databases.
#
newaliases_path = /usr/bin/newaliases

# mailq_path: The full pathname of the Postfix mailq command.  This
# is the Sendmail-compatible mail queue listing command.
# 
mailq_path = /usr/bin/mailq

# setgid_group: The group for mail submission and queue management
# commands.  This must be a group name with a numerical group ID that
# is not shared with other accounts, not even with the Postfix account.
#
setgid_group = postdrop

# html_directory: The location of the Postfix HTML documentation.
#
html_directory = /usr/doc/postfix-2.10.2/html

# manpage_directory: The location of the Postfix on-line manual pages.
#
manpage_directory = /usr/man

# sample_directory: The location of the Postfix sample configuration files.
# This parameter is obsolete as of Postfix 2.1.
#
sample_directory = /etc/postfix

# readme_directory: The location of the Postfix README files.
#
readme_directory = /usr/doc/postfix-2.10.2/README_FILES
inet_protocols = ipv4

#smtpd_sasl_auth_enable = no
#broken_sasl_auth_clients = no
#smtpd_sasl_authenticated_header = no
3
Vladimir

Il n'est pas clair quel port vous avez utilisé, si l'authentification a été activée dans la MUA et comment master.cf ressemble à

Comme vous n'avez pas de smtpd_recipient_restrictions Définition de votre fichier de configuration, la valeur par défaut est utilisée:

smptd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, defer_unauth_destination

Il semble que les deux premières règles ne s'appliquent pas et les derniers matchs (un rejet temporaire): Relay access denied.

L'envoi de mails est maintenant autorisé pour tous les utilisateurs authentifiés et la machine locale (donc tous les programmes locaux qui se connectent à localhost).

Pour un bourrage public, veuillez consulter les didacticiels/directives à postfix.org: configuration de base README . Oui, c'est beaucoup, mais votre propre mailseau public apporte non seulement le plaisir mais aussi la responsabilité!

7
sebix

Vous faites probablement probablement et devriez-vous avoir une authentification de relais allumé. Ce paramètre empêchera les utilisateurs anonymes d'envoyer des spams.

Je suppose que vous utilisez un client de bureau pour envoyer/recevoir un email. Avez-vous une authentification de connexion activée sur les paramètres du serveur SMTP de votre client? Sinon, alors vous connectez-vous sur le serveur comme celui-ci résoudra probablement votre problème.

1
ericbond007

Comme avec la réponse de @ SEBIX, mentionnez Nom d'utilisateur en tant que "nom" et email d'une adresse électronique complète de votre côté client. Peut-être serviable pour quelqu'un . Entrez la description de l'image ici

0
Rajeev Rahman

J'ai passé toute la journée à résoudre ce problème à partir d'un client Outlook. Outlook a été configuré comme:

  • Mon serveur sortant (SMTP) nécessite une authentification.
  • Connectez-vous au serveur de messagerie incomposant avant d'envoyer du courrier.

Il s'agit de la configuration incorrecte. Ça devrait être:

  • Mon serveur sortant (SMTP) nécessite une authentification.
  • Utilisez les mêmes paramètres que mon serveur de messagerie entrant.

Je n'ai compris que ce n'était pas une erreur de configuration postfix lors de l'envoi d'un courrier électronique de Thunderbird a réussi.

Faire cette modification a éliminé l'erreur de relais. J'espère que ça aidera quelqu'un d'autre.

0
David Walker