Update:
If I run the test command as root, the command completes but the mail
has not arrived in my inbox, it has been 10min
# echo "test" | sendmail -s "test subject" my_user(a)my_domain.com
#
On 1/5/23 14:37, Sbob wrote:
> All;
>
> I have setup a Fedora 37 Server in a VMWare Workstation VM (Fedora 36
> host)
>
> I cannot seem to get sendmail working, here are the steps I have
> taken, following this guide:
>
https://tecadmin.net/install-sendmail-on-fedora/
> 1)
> # dnf install sendmail sendmail-cf
>
> 2)
> Comment out below line in /etc/mail/sendmail.mc to allow receiving
> email from anywhere.
> To comment a line in sendmail.mc, just put dnl at start of line.
>
> dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
>
> 3)
> Add this line also in sendmail.mc above ‘MAILER’ option
>
> FEATURE(`relay_hosts_only')dnl
>
>
> As of step 3 this is what my sendmail.mc file looks like:
> $ cat sendmail.mc
> divert(-1)dnl
> dnl #
> dnl # This is the sendmail macro config file for m4. If you make
> changes to
> dnl # /etc/mail/sendmail.mc, you will need to regenerate the
> dnl # /etc/mail/sendmail.cf file by confirming that the sendmail-cf
> package is
> dnl # installed and then performing a
> dnl #
> dnl # /etc/mail/make
> dnl #
> include(`/usr/share/sendmail-cf/m4/cf.m4')dnl
> VERSIONID(`setup for linux')dnl
> OSTYPE(`linux')dnl
> dnl #
> dnl # Do not advertize sendmail version.
> dnl #
> dnl define(`confSMTP_LOGIN_MSG', `$j Sendmail; $b')dnl
> dnl #
> dnl # default logging level is 9, you might want to set it higher to
> dnl # debug the configuration
> dnl #
> dnl define(`confLOG_LEVEL', `9')dnl
> dnl #
> dnl # Uncomment and edit the following line if your outgoing mail
> needs to
> dnl # be sent out through an external mail server:
> dnl #
> dnl define(`SMART_HOST', `smtp.your.provider')dnl
> dnl #
> define(`confDEF_USER_ID', ``8:12'')dnl
> dnl define(`confAUTO_REBUILD')dnl
> define(`confTO_CONNECT', `1m')dnl
> define(`confTRY_NULL_MX_LIST', `True')dnl
> define(`confDONT_PROBE_INTERFACES', `True')dnl
> define(`PROCMAIL_MAILER_PATH', `/usr/bin/procmail')dnl
> define(`ALIAS_FILE', `/etc/aliases')dnl
> define(`STATUS_FILE', `/var/log/mail/statistics')dnl
> define(`UUCP_MAILER_MAX', `2000000')dnl
> define(`confUSERDB_SPEC', `/etc/mail/userdb.db')dnl
> define(`confPRIVACY_FLAGS', `authwarnings,novrfy,noexpn,restrictqrun')dnl
> define(`confAUTH_OPTIONS', `A')dnl
> dnl #
> dnl # The following allows relaying if the user authenticates, and
> disallows
> dnl # plaintext authentication (PLAIN/LOGIN) on non-TLS links
> dnl #
> dnl define(`confAUTH_OPTIONS', `A p')dnl
> dnl #
> dnl # which realm to use in SASL database (sasldb2)
> dnl #
> define(`confAUTH_REALM', `mail')dnl
> dnl #
> dnl # PLAIN is the preferred plaintext authentication method and used by
> dnl # Mozilla Mail and Evolution, though Outlook Express and other
> MUAs do
> dnl # use LOGIN. Other mechanisms should be used if the connection is not
> dnl # guaranteed secure.
> dnl # Please remember that saslauthd needs to be running for AUTH.
> dnl #
> dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
> dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5
> LOGIN PLAIN')dnl
> dnl #
> dnl # Basic sendmail TLS configuration with self-signed certificate for
> dnl # inbound SMTP (and also opportunistic TLS for outbound SMTP).
> dnl #
> define(`confCACERT_PATH', `/etc/pki/tls/certs')dnl
> define(`confCACERT', `/etc/pki/tls/certs/ca-bundle.crt')dnl
> define(`confSERVER_CERT', `/etc/pki/tls/certs/sendmail.pem')dnl
> define(`confSERVER_KEY', `/etc/pki/tls/private/sendmail.key')dnl
> define(`confTLS_SRV_OPTIONS', `V')dnl
> dnl #
> dnl # This allows sendmail to use a keyfile that is shared with
> OpenLDAP's
> dnl # slapd, which requires the file to be readble by group ldap
> dnl #
> dnl define(`confDONT_BLAME_SENDMAIL', `groupreadablekeyfile')dnl
> dnl #
> dnl define(`confTO_QUEUEWARN', `4h')dnl
> dnl define(`confTO_QUEUERETURN', `5d')dnl
> dnl define(`confQUEUE_LA', `12')dnl
> dnl define(`confREFUSE_LA', `18')dnl
> define(`confTO_IDENT', `0')dnl
> dnl # If you're operating in a DSCP/RFC-4594 environment with QoS
> dnl define(`confINET_QOS', `AF11')dnl
> dnl FEATURE(delay_checks)dnl
> FEATURE(`no_default_msa', `dnl')dnl
> FEATURE(`smrsh', `/usr/sbin/smrsh')dnl
> FEATURE(`mailertable', `hash -o /etc/mail/mailertable.db')dnl
> FEATURE(`virtusertable', `hash -o /etc/mail/virtusertable.db')dnl
> FEATURE(redirect)dnl
> FEATURE(always_add_domain)dnl
> FEATURE(use_cw_file)dnl
> FEATURE(use_ct_file)dnl
> dnl #
> dnl # The following limits the number of processes sendmail can fork
> to accept
> dnl # incoming messages or process its message queues to 20.) sendmail
> refuses
> dnl # to accept connections once it has reached its quota of child
> processes.
> dnl #
> dnl define(`confMAX_DAEMON_CHILDREN', `20')dnl
> dnl #
> dnl # Limits the number of new connections per second. This caps the
> overhead
> dnl # incurred due to forking new sendmail processes. May be useful
> against
> dnl # DoS attacks or barrages of spam. (As mentioned below, a per-IP
> address
> dnl # limit would be useful but is not available as an option at this
> writing.)
> dnl #
> dnl define(`confCONNECTION_RATE_THROTTLE', `3')dnl
> dnl #
> dnl # The -t option will retry delivery if e.g. the user runs over his
> quota.
> dnl #
> FEATURE(local_procmail, `', `procmail -t -Y -a $h -d $u')dnl
> FEATURE(`access_db', `hash -T<TMPF> -o /etc/mail/access.db')dnl
> FEATURE(`blocklist_recipients')dnl
> EXPOSED_USER(`root')dnl
> dnl #
> dnl # For using Cyrus-IMAPd as POP3/IMAP server through LMTP delivery
> uncomment
> dnl # the following 2 definitions and activate below in the MAILER
> section the
> dnl # cyrusv2 mailer.
> dnl #
> dnl define(`confLOCAL_MAILER', `cyrusv2')dnl
> dnl define(`CYRUSV2_MAILER_ARGS', `FILE /var/lib/imap/socket/lmtp')dnl
> dnl #
> dnl # The following causes sendmail to only listen on the IPv4
> loopback address
> dnl # 127.0.0.1 and not on any other network devices. Remove the loopback
> dnl # address restriction to accept email from the internet or intranet.
> dnl #
> dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
> dnl #
> dnl # The following causes sendmail to additionally listen to port 587
> for
> dnl # mail from MUAs that authenticate. Roaming users who can't reach
> their
> dnl # preferred sendmail daemon due to port 25 being blocked or
> redirected find
> dnl # this useful.
> dnl #
> dnl DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea')dnl
> dnl #
> dnl # The following causes sendmail to additionally listen to port
> 465, but
> dnl # starting immediately in TLS mode upon connecting. Port 25 or 587
> followed
> dnl # by STARTTLS is preferred, but roaming clients using Outlook
> Express can't
> dnl # do STARTTLS on ports other than 25. Mozilla Mail can ONLY use
> STARTTLS
> dnl # and doesn't support the deprecated smtps; Evolution <1.1.1 uses
> smtps
> dnl # when SSL is enabled-- STARTTLS support is available in version
> 1.1.1.
> dnl #
> dnl # For this to work your OpenSSL certificates must be configured.
> dnl #
> dnl DAEMON_OPTIONS(`Port=smtps, Name=TLSMTA, M=s')dnl
> dnl #
> dnl # The following causes sendmail to additionally listen on the IPv6
> loopback
> dnl # device. Remove the loopback address restriction listen to the
> network.
> dnl #
> dnl DAEMON_OPTIONS(`port=smtp,Addr=::1, Name=MTA-v6, Family=inet6')dnl
> dnl #
> dnl # enable both ipv6 and ipv4 in sendmail:
> dnl #
> dnl DAEMON_OPTIONS(`Name=MTA-v4, Family=inet, Name=MTA-v6, Family=inet6')
> dnl #
> dnl # We strongly recommend not accepting unresolvable domains if you
> want to
> dnl # protect yourself from spam. However, the laptop and users on
> computers
> dnl # that do not have 24x7 DNS do need this.
> dnl #
> FEATURE(`accept_unresolvable_domains')dnl
> dnl #
> dnl FEATURE(`relay_based_on_MX')dnl
> dnl #
> dnl # Also accept email sent to "localhost.localdomain" as local email.
> dnl #
> LOCAL_DOMAIN(`localhost.localdomain')dnl
> dnl #
> dnl # The following example makes mail from this host and any additional
> dnl # specified domains appear to be sent from
mydomain.com
> dnl #
> dnl MASQUERADE_AS(`mydomain.com')dnl
> dnl #
> dnl # masquerade not just the headers, but the envelope as well
> dnl #
> dnl FEATURE(masquerade_envelope)dnl
> dnl #
> dnl # masquerade not just @mydomainalias.com, but @*.mydomainalias.com
> as well
> dnl #
> dnl FEATURE(masquerade_entire_domain)dnl
> dnl #
> dnl MASQUERADE_DOMAIN(localhost)dnl
> dnl MASQUERADE_DOMAIN(localhost.localdomain)dnl
> dnl MASQUERADE_DOMAIN(mydomainalias.com)dnl
> dnl MASQUERADE_DOMAIN(mydomain.lan)dnl
> FEATURE(`relay_hosts_only')dnl
> MAILER(smtp)dnl
> MAILER(procmail)dnl
> dnl MAILER(cyrusv2)dnl
>
>
> 4)
> Add your PC’s full hostname in this file:
> # hostname >> /etc/mail/relay-domains
>
> My hostname is "F37-Sendmail" so my /etc/mail/relay-domains file now
> looks like this:
>
> $ cat /etc/mail/relay-domains
> F37-Sendmail
>
> 5)
> Recompile Configuration File
> m4 ia a macro processor to compile the Sendmail configuration files.
> m4 is stream-based, that is, it doesn’t understand about lines.
> # m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
>
> 6)
> Restart sendmail service:
> This step took a long time (60 sec or more) to complete:
>
> # systemctl restart sendmail
>
>
> 7)
>
> Now if I attempt a test I get this:
>
> $ echo "test" | sendmail -s "test subject" my_user(a)my_domain.com
> WARNING: RunAsUser for MSP ignored, check group ids (egid=1000, want=51)
> can not chdir(/var/spool/clientmqueue/): Permission denied
> Program mode requires special privileges, e.g., root or TrustedUser.
>
>
> Also, a systemctl status shows this:
>
> # systemctl status sendmail
> ● sendmail.service - Sendmail Mail Transport Agent
> Loaded: loaded (/usr/lib/systemd/system/sendmail.service;
> disabled; preset: disabled)
> Active: active (running) since Thu 2023-01-05 14:16:14 MST; 19min
> ago
> Process: 1015 ExecStartPre=/etc/mail/make (code=exited,
> status=0/SUCCESS)
> Process: 1016 ExecStartPre=/etc/mail/make aliases (code=exited,
> status=0/SUCCESS)
> Process: 1020 ExecStart=/usr/sbin/sendmail -bd $SENDMAIL_OPTS
> $SENDMAIL_OPTARG (code=exited, status=0/SUCCESS)
> Main PID: 1025 (sendmail)
> Tasks: 1 (limit: 2274)
> Memory: 3.4M
> CPU: 90ms
> CGroup: /system.slice/sendmail.service
> └─1025 "sendmail: accepting connections"
>
> Jan 05 14:15:14 F37-Sendmail systemd[1]: Starting sendmail.service -
> Sendmail Mail Transport Agent...
> Jan 05 14:15:14 F37-Sendmail sendmail[1020]: My unqualified host name
> (F37-Sendmail) unknown; sleeping for retry
> Jan 05 14:16:14 F37-Sendmail sendmail[1020]: unable to qualify my own
> domain name (F37-Sendmail) -- using short name
> Jan 05 14:16:14 F37-Sendmail systemd[1]: sendmail.service: Can't open
> PID file /run/sendmail.pid (yet?) after start: Operation not permitted
> Jan 05 14:16:14 F37-Sendmail sendmail[1025]: starting daemon (8.17.1):
> SMTP+queueing@01:00:00
> Jan 05 14:16:14 F37-Sendmail systemd[1]: Started sendmail.service -
> Sendmail Mail Transport Agent.
>
>
>
> Thanks in advance for any help
>