我想在Perl中通过SMTP发送邮件.
我为此写了一个脚本.
#!perl
use warnings;
use strict;
use Net::SMTP;
my $smtpserver = 'server';
my $smtpport = 25;
my $smtpuser = 'username';
my $smtppassword = 'password';
my $smtp = Net::SMTP->new($smtpserver, Port=>$smtpport, Timeout => 10, Debug => 1);
die "Could not connect to server!\n" unless $smtp;
$smtp->auth($smtpuser, $smtppassword);
$smtp->to('mymail@gmail.com');
$smtp->data();
$smtp->datasend("To: mymail\@gmail.com\n");
$smtp->quit;
Run Code Online (Sandbox Code Playgroud)
当我运行这个脚本时,我的输出如下:
Net::SMTP>>> Net::SMTP(2.31)
Net::SMTP>>> Net::Cmd(2.29)
Net::SMTP>>> Exporter(5.65)
Net::SMTP>>> IO::Socket::INET(1.31)
Net::SMTP>>> IO::Socket(1.32)
Net::SMTP>>> IO::Handle(1.31)
Net::SMTP=GLOB(0x273faf0)<<< 220 server GMX Mailservices E
Net::SMTP=GLOB(0x273faf0)>>> EHLO localhost.localdomain
Net::SMTP=GLOB(0x273faf0)<<< 250-server GMX Mailservices
Net::SMTP=GLOB(0x273faf0)<<< 250-8BITMIME
Net::SMTP=GLOB(0x273faf0)<<< …Run Code Online (Sandbox Code Playgroud)
我想使用下载文件DownloadManager。并DownloadManager希望获得WRITE_EXTERNAL_STORAGE许可。我已将WRITE_EXTERNAL_STORAGE许可包含在中AndroidManifest.xml。此外,我尝试在运行时获得此许可。
请求权限后立即调用onRequestPermissionsResult回调。没有显示请求权限弹出窗口。
然而,对价值grantResult[0]的onRequestPermissionsResult是PERMISSION_DENIED。但是,甚至没有显示“权限弹出窗口”。
我检查这样的许可:
public boolean isStoragePermissionGranted() {
if (Build.VERSION.SDK_INT >= 23) {
if (checkSelfPermission(getContext(), android.Manifest.permission.WRITE_EXTERNAL_STORAGE)
== PackageManager.PERMISSION_GRANTED) {
Log.v(TAG,"Permission is granted");
return true;
} else {
Log.v(TAG,"Permission is revoked");
ActivityCompat.requestPermissions(getActivity(), new String[]{android.Manifest.permission.WRITE_EXTERNAL_STORAGE}, WRITE_EXTERNAL_PERMISSION_REQUEST_CODE);
return false;
}
}
else {
Log.v(TAG,"Permission is granted");
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
这是权限请求的回调:
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults); …Run Code Online (Sandbox Code Playgroud)