যেহেতু আমি আমার পিসিটি (কে) উবুন্টু থেকে 12.04 থেকে 12.10 আপগ্রেড করেছি ব্যবহার করে কোনও ইমেল প্রেরণের চেষ্টা করার সময় আমি এই ত্রুটি বার্তাটি পাই sendemail
।
আইও :: সকেট :: এসএসএল এর পুরানো সংস্করণ ইনস্টল করা কোনও বিকল্প নয়। আমার ধারণা আছে যে সমস্ত এটির মতো কাজ করে এবং বার্তাটি কেবল একটি সতর্কতা।
আমি কীভাবে এই বার্তাটি থেকে মুক্তি পাব?
SSL.pm
আমি মনে করি সমস্যার সাথে নীচে কিছু করতে হবে (/usr/share/perl5/IO/Sket/SSL.pm)।
34 use constant DEFAULT_VERSION => 'SSLv23:!SSLv2';
...
251 my %default_args = (
252 Proto => 'tcp',
253 SSL_server => $is_server,
254 SSL_use_cert => $is_server,
255 SSL_check_crl => 0,
256 SSL_version => DEFAULT_VERSION,
257 SSL_verify_mode => SSL_VERIFY_NONE,
258 SSL_verify_callback => undef,
259 SSL_verifycn_scheme => undef, # don't verify cn
260 SSL_verifycn_name => undef, # use from PeerAddr/PeerHost
261 SSL_npn_protocols => undef, # meaning depends whether on server or client side
262 SSL_honor_cipher_order => 0, # client order gets preference
263 );
...
332 ${*$self}{'_SSL_ctx'} = IO::Socket::SSL::SSL_Context->new($arg_hash) || return;
ইমেইল পাঠান
এবং সেন্ডমেইলের শেষে আমি মনে করি এটি কোড সম্পর্কে এখানেই রয়েছে:
1903 ## Start TLS if possible
1904 if ($conf{'tls_server'} == 1 and $conf{'tls_client'} == 1 and $opt{'tls'} =~ /^(yes|auto)$/) {
1905 printmsg("DEBUG => Starting TLS", 2);
1906 if (SMTPchat('STARTTLS')) { quit($conf{'error'}, 1); }
1907 if (! IO::Socket::SSL->start_SSL($SERVER, SSL_version => 'SSLv3 TLSv1')) {
1908 quit("ERROR => TLS setup failed: " . IO::Socket::SSL::errstr(), 1);
1909 }
1910 printmsg("DEBUG => TLS: Using cipher: ". $SERVER->get_cipher(), 3);
1911 printmsg("DEBUG => TLS session initialized :)", 1);
1912
1913 ## Restart our SMTP session
1914 if (SMTPchat('EHLO ' . $opt{'fqdn'})) { quit($conf{'error'}, 1); }
1915 }
1916 elsif ($opt{'tls'} eq 'yes' and $conf{'tls_server'} == 0) {
1917 quit("ERROR => TLS not possible! Remote SMTP server, $conf{'server'}, does not support it.", 1);
1918 }