Browse Source

Merge pull request #9844 from cshoredaniel/pr-msmtpq-ng-mta-conn_test

msmtp-scripts: Fix connectivity test and various permissions
lilik-openwrt-22.03
Rosen Penev 5 years ago
committed by GitHub
parent
commit
f452195ab6
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 50 additions and 11 deletions
  1. +36
    -1
      mail/msmtp-scripts/Makefile
  2. +8
    -4
      mail/msmtp-scripts/files/msmtpq-ng-mta.init
  3. +3
    -3
      mail/msmtp-scripts/files/msmtpq-ng-mta.rc
  4. +3
    -3
      mail/msmtp-scripts/files/msmtpq-ng.rc

+ 36
- 1
mail/msmtp-scripts/Makefile View File

@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=msmtp-scripts
PKG_VERSION:=1.2.4
PKG_RELEASE:=1
PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://launchpad.net/$(PKG_NAME)/1.2/$(PKG_VERSION)/+download
@ -74,6 +74,40 @@ define Package/msmtpq-ng-mta/description
and postsuper symlinks to wrappers that configure
msmtpq-ng for use as the system mail transport
agent via the sendmail command.
**NB**: In order for msmtpq-ng-mta aka sendmail to
send mail for non-root users (not just queue it
after failing), the user must have permissions to
access /etc/msmtprc -- package msmtp sets msmtprc
to rw only by root by default as a security measure
(it _can_ contain information like passwords with
which to send mail through your email server).
There are a couple of choices. One is to leave
the default permissions (in which cases the mail
will queue and fail to send until the mailq -q
runner which runs in a root crontab sends the mail).
Another is to give any non-root daemon users (or
any other users) group access (i.e. create a
group for all the users who should be able to
send mail, add the users to it, and give the
group read-only permissions on the msmtrpc).
A final option (which is only resonable if you
have no secrets in msmtprc because you are
sending unauthenticated mail to a server that
accepts mail directly for the intended user --
usually that means a self-hosted system mail
server, rather than trying to send mail to
public servers (which don't typically accept
mail from normal user IP addresses, even if
you ISP doesn't block the traffic) is to
make msmtprc world readable.
The first option is probably the best choice
for most users, as it just means a 15
minute delay in the mail getting off the
system, and doesn't involve special permissions
for non-root daemons or users.
endef
define Package/msmtpq-ng-mta-smtpd
@ -116,6 +150,7 @@ define Package/msmtpq-ng/install
$(INSTALL_DATA) ./files/msmtpq-ng.rc $(1)/etc/msmtpq-ng.rc
$(INSTALL_DIR) $(1)/usr/bin
$(CP) $(PKG_BUILD_DIR)/src/usr/bin/msmtpq-ng $(1)/usr/bin/
$(SED) "s,nc -vz,printf \"HEAD / HTTP/1.1\\\\r\\\\nHost: \$$$${EMAIL_CONN_TEST_SITE}\\\\r\\\\n\\\\r\\\\n\"|nc," $(1)/usr/bin/msmtpq-ng
$(CP) $(PKG_BUILD_DIR)/src/usr/bin/msmtpq-ng-queue $(1)/usr/bin/
endef


+ 8
- 4
mail/msmtp-scripts/files/msmtpq-ng-mta.init View File

@ -4,12 +4,16 @@
START=90
boot() {
[ ! -d /var/spool/msmtp ] && {
if [ ! -d /var/spool/msmtp ]; then
mkdir -m1777 -p /var/spool/msmtp
}
else
chmod 1777 /var/spool/msmtp
fi
[ ! -d /var/lock/msmtp ] && {
if [ ! -d /var/lock/msmtp ]; then
mkdir -m1777 -p /var/lock/msmtp
}
else
chmod 1777 /var/spool/msmtp
fi
}

+ 3
- 3
mail/msmtp-scripts/files/msmtpq-ng-mta.rc View File

@ -14,9 +14,9 @@
#MSMTPQ_NG=msmtpq-ng
#MSMTPQ_NG_QUEUE=msmtpq-ng-queue
#MSMTP_CONF=/etc/msmtprc
#EMAIL_CONN_TEST=p
EMAIL_CONN_TEST_PING=openwrt.org
EMAIL_CONN_TEST=n
#EMAIL_CONN_TEST_PING=openwrt.org
#EMAIL_CONN_TEST_IP=8.8.8.8
#EMAIL_CONN_TEST_SITE=www.debian.org
EMAIL_CONN_TEST_SITE=openwrt.org
#MSMTP_HOLD_SMTP_MAIL=true
#MSMTP_HOLD_CLI_MAIL=false

+ 3
- 3
mail/msmtp-scripts/files/msmtpq-ng.rc View File

@ -4,10 +4,10 @@
#LOG=~/log/.msmtp.queue.log
#MAXLOGLEVEL=7
#MSMTP_LOCK_DIR=~/.msmtp.lock
EMAIL_CONN_TEST=p
EMAIL_CONN_TEST_PING=openwrt.org
EMAIL_CONN_TEST=n
#EMAIL_CONN_TEST_PING=openwrt.org
#EMAIL_CONN_TEST_IP=8.8.8.8
#EMAIL_CONN_TEST_SITE=www.debian.org
EMAIL_CONN_TEST_SITE=openwrt.org
#MSMTP_UMASK=077
#MSMTP_LOG_UMASK=077
#MSMTP_QUEUE_QUIET=false


Loading…
Cancel
Save