não pode enviar e-mail para nome de usuário com prefixo de domínio

0

Como posso enviar mensagens para um usuário local com um nome de usuário com prefixo de domínio?

Executando o SUSE Linux Enterprise Server 11.3 associado a um domínio de diretório ativo com o Heirloom mailx versão 12.5 7/5/10

cenário:

Eu tenho dois usuários no servidor, uma conta de usuário local e uma conta de usuário de domínio:

  • jeff
  • DOM1 \ john

Conectado como DOM1 \ john, posso emitir este comando do terminal echo "hello" | mail -s "test" jeff e o jeff recebe a mensagem com sucesso. Não surpreendentemente, o cabeçalho lê uma barra invertida de escape no FROM field From: "DOM1\john"@server.example.com

Estranhamente, se jeff simplesmente responder à mensagem, jeff receberá uma Undelivered Mail Returned to Sender na caixa de entrada. O cabeçalho diz To: [email protected] , portanto, posso ver que a barra invertida está sendo removida. Eu tentei os seguintes comandos como jeff para tentar escapar da barra invertida, tudo sem sucesso, e a barra invertida é sempre omitida no cabeçalho TO da mensagem não entregue:

  • echo "hello" | mail -s "test" DOM1\john
  • echo "hello" | mail -s "test" 'DOM1\john'
  • echo "hello" | mail -s "test" "DOM1\john"
  • echo "hello" | mail -s "test" DOM1\[email protected]
  • echo "hello" | mail -s "test" 'DOM1\john'@server.example.com
  • echo "hello" | mail -s "test" "DOM1\john"@server.example.com
  • echo "hello" | mail -s "test" DOM1\john
  • echo "hello" | mail -s "test" 'DOM1\john'
  • echo "hello" | mail -s "test" "DOM1\john"
  • echo "hello" | mail -s "test" DOM1\[email protected]
  • echo "hello" | mail -s "test" 'DOM1\john'@server.example.com
  • echo "hello" | mail -s "test" "DOM1\john"@server.example.com

Ainda mais estranho, se eu tentar 3 barras invertidas, echo "hello" | mail -s "test" DOM1\\john , ele não entrega a mensagem nem emite uma mensagem não entregue, ela simplesmente falha silenciosamente.

E se eu tentar apenas enviar o email sem o prefixo do domínio, echo "hello" | mail -s "test" john , recebo a mensagem não entregue esperada dizendo que o usuário john não existe.

Além disso, para ser claro, sim, esses usuários de domínio têm contas de e-mail como [email protected], mas não queremos enviar para essa conta do servidor de e-mail - só queremos usar as contas de e-mail locais no SLES para que eles possam se comunicar com outras contas locais fora do domínio nesse servidor.

    
por Jeff Puckett 06.04.2016 / 17:47

1 resposta

0

Você cedeu muito facilmente. Você viu o cabeçalho

From: "DOM1\john"@server.example.com

e é disso que você precisa, mas você deve preservar as aspas duplas e as barras invertidas duplas:

echo "hello" | mail -s "test" '"DOM1\john"@server.example.com'

De wikipedia na parte local de um endereço de e-mail:

Space and "(),:;<>@[\] characters are allowed with restrictions (they are only allowed inside a quoted string, ... and in addition, a backslash ... must be preceded by a backslash).

A quoted string may exist ... when the outermost quotes are the outermost characters of the local-part ... e.g. "abcdefghixyz"@example.com. Quoted strings and characters however, are not commonly used. RFC 5321 also warns that "a host that expects to receive mail SHOULD avoid defining mailboxes where the Local-part requires (or uses) the Quoted-string form".

    
por 06.04.2016 / 18:04