Karakter khusus dalam kata sandi ssmtp


14

Saya punya +dan =karakter dalam kata sandi gmail saya. Bagaimana saya bisa mengonfigurasi ssmtpuntuk menghindari kesalahan otorisasi?

Saya /etc/ssmtp/ssmtp.conf:

root=username@gmail.com
mailhub=smtp.gmail.com:465
rewriteDomain=gmail.com
AuthUser=username
AuthPass=1234+=5678
FromLineOverride=YES
UseTLS=YES
hostname=skynet

Bagaimana saya menjalankan ssmtp:

$ echo "email content" | mail -s "email subject" otherMail@gmail.com
send-mail: Authorization failed (535 5.7.1
http://support.google.com/mail/bin/answer.py?answer=14257
hz16sm4385885lab.6)

1
Program apa kesalahan terjadi? Tolong beri kami beberapa konteks. Brevity itu baik, tetapi ini hanya sedikit untuk dikerjakan.
pengguna 99572 baik-baik saja

Saya telah melampirkan beberapa informasi lebih lanjut ke pertanyaan.
Jofsey

Apakah Anda mencoba tanda kutip tunggal, yang seharusnya cocok untuk Anda
Suyash Jain

Bugnya ada di github.com/ajwans/sSMTP/blob/master/ssmtp.c#L913 , saya ingat saya mengirimkan tambalan kembali pada tahun 2010 ... tidak ada yang peduli. Saya kira itu adalah fitur, bukan bug!
David S.

Jawaban:


5

Masih ada sejumlah bug luar biasa yang berhubungan dengan karakter khusus di AuthPassbaris dalam /etc/ssmtp/ssmtp.conffile:

https://bugs.debian.org/cgi-bin/pkgreport.cgi?repeatmerged=no&src=ssmtp#_0_3_4

Laporan bug ini khusus untuk ssmtphalaman di Debian, tetapi mungkin berlaku untuk orang lain.

  • Log laporan Debian Bug - # 463196 : ssmtp tidak dapat menguraikan AuthPass dengan '=' atau ':' di dalamnya
  • Log laporan Debian Bug - # 768129 : ssmtp: Masalah yang sama di sini dengan "#"

Menurut log laporan ini, baris yang berisi karakter =,, :atau #dilewati seluruhnya, atau diproses dengan cara yang menghilangkan bagian kata sandi di sisi kanan karakter ini.

Dengan kata lain, saat ini tidak ada cara untuk "melarikan diri" karakter khusus ini di AuthPasstelepon.


Sebagai catatan tambahan, ada sejumlah perangkat, seperti printer rumah nirkabel, yang mengharuskan kata sandi dimasukkan pada papan nomor, mirip dengan yang digunakan pada telepon. Beberapa karakter khusus tersedia di perangkat ini, tetapi banyak yang tidak dapat dipilih.

Untuk situasi seperti ini, Anda (sayangnya) terpaksa menyesuaikan kata sandi untuk perangkat.

Kata sandi yang lebih panjang yang terdiri dari huruf & angka lebih disukai daripada kata sandi yang lebih pendek dengan lebih banyak karakter tanda baca.


Pertanyaan ini juga telah ditanyakan dan dijawab dengan sangat baik di halaman berikut:

Karakter apa yang ilegal dalam kata sandi di ssmtp.conf?


@Hugo Itu mungkin topik yang bagus untuk pertanyaan lain: superuser.com/help/how-to-ask Jika Anda menemukan sesuatu atau memposting sendiri, jangan ragu untuk meninggalkan komentar lain di sini yang terhubung dengannya.
JonathanDavidArndt

Pengelola harus mempertimbangkan memperlakukan entri file konfigurasi sebagai Urlencoded seperti dalam beberapa paket lainnya.
Pak Tua

1

Anda dapat menggunakan solusi berikut:

feed the password directly in the command line argument

ssmtp -ap "Hash # Kata Sandi" ...

alternatively put the password in an environment variable.

ssmtp -ap $ PASSWD ...

Semoga ini bisa membantu.


-1

Jawabannya sangat tergantung pada konteks di mana Anda memasukkan atau mengirimkan kata sandi. Dalam beberapa format, Anda dapat melingkupi kata sandi Anda, dalam format ""lain Anda harus keluar dari karakter yang menyinggung. Karakter pelarian ini , berbeda antara program, shell, sistem operasi, dll. Dalam skrip batch Windows, escape adalah ^saat berada di Linux atau situasi terminal tertentu, escape itu \.


1
Saya mencoba menyimpan kata sandi saya dalam 1234\+\=5678bentuk, tetapi mendapat kesalahan yang sama.
Jofsey

1
Konteksnya adalah ssmtppaket, bukan SMTP secara umum.
Kenny Evitt

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.