Quería compartir la solución a mi problema. Esto no quiere decir que esta será la solución para el problema similar de todos, pero tal vez el camino de solución de problemas que tomé pueda ayudar a otros.
Primero, vi el registro de correo. Que, para sendmail, en RHEL y CentOS tiene como valor predeterminado :/var/log/maillog. Puede ver las entradas de mi registro de correo arriba y los dos problemas que presencié, que fueron (simplificados):
relay=aspmx.l.google.com., dsn=5.0.0, stat=Service unavailable
... abreviado como:DSN: Service unavailable
... y...
SYSERR(root): savemail: cannot save rejected email anywhere
Los últimos problemas se debieron a que estaba usando sendmail para enmascarar todos los correos electrónicos en el servidor de correo electrónico principal de nuestra empresa (, que estaba en google ). En última instancia, lo que estaba sucediendo era:
Por lo tanto, no pude ver el motivo del rebote.
Superé esto y pude ver con éxito los detalles de rebote con este comando:
(echo Subject: test; echo; echo test)|/usr/sbin/sendmail -Am -i -v myemail@address.com
(Obviamente, cambie myemail@address.com a otra cosa; aunque no se enviará de ninguna manera ).
El comando anterior me permitió ver el mensaje de error en detalle que era:
550-5.7.1 [my.servers.ip.address] The IP you're using to send mail is not authorized to
550-5.7.1 send email directly to our servers. Please use the SMTP relay at your
550-5.7.1 service provider instead. Learn more at
550 5.7.1 https://support.google.com/mail/?p=NotAuthorizedError
Al leer sobre esto, aprendí rápidamente que la IP de mi servidor estaba simplemente en una lista de políticas bloqueadas que abarcaba miles de IP. Envié una solicitud para eliminar mi IP del Bloque de política y todo volvió a funcionar.
Попробуйте следующее (неоптимизированное )регулярное выражение:
$ sed 's/\(^.*\)\(\/[^ ]* \)\([^ ]* \)\([^ ]* \)\([^ ]*\)/\1 \3/' infile
wdiff 1.2.2-1build1
wget 1.17.1-1ubuntu1.5
whiptail 0.52.18-1ubuntu2
xauth 1:1.0.9-1ubuntu2
xdg-user-dirs 0.15-2ubuntu6.16.04.1
xfsprogs 4.3.0+nmu1ubuntu1.1
xkb-data 2.16-1ubuntu1
Что происходит? Вы захватили неправильную группу и не отбрасывали до конца входной строки после последнего совпадения, которое вы хотели сохранить, а только до следующего не -пробела
sed -r 's/^([^\/]+)\/[^\s]+\s([^\s]+)/\1 \2/'
([^/]+) #capture everything up to /, OK
/ #discard the /. OK
[^\s] #discard the next non white-space group, this is the bit you actually want
\s #discard the whitespace
([^\s]+) #capture the next non-whitespace group
#leave anything after the last non-whitespace found
Вы, вероятно, сделали это из-за плохой читаемости со всеми экранами. Если вы очистите его, это поможет вам отладить
sed -E 's|([^/]*)[^ ]* +([^ ]*).*|\1 \2|' infile | column -t
([^/]*) #capture up to the /
[^ ]* + #discard until the space and any spaces
([^ ]) #capture the next character group until a space
.* #discard to the end of the string
Если вы не указали глобальное совпадение (s///g
), вам не нужна якорь ^
.
Используйте |
в качестве разделителя, чтобы избежать ненужных escape-последовательностей в соответствующей строке
column -t
лучше справляется с выравниванием, чем несколько пробелов