2

私は小さな挑戦に直面していますが、時間が経っていて、本当にperlの人ではないので、どんな助けも大歓迎です. 私が持っているのは、実行中のすべてのプロセスをチェックし、ステータスを /tmp/error に書き込むスクリプトです。次に、外部 stmp 経由で添付ファイル付きの電子メールを送信する perl スクリプトがありますが、必要なのは、その /tmp/error を取得してそれを置くコードの貫通です。メール本文に添付する必要はありません。これが私が見つけたものです>これはファイルを添付ファイルとして送信しますが、本文にそれが必要です。

 #!/usr/bin/perl

use MIME::Lite;

# Set this variable to your smtp server name 
my $ServerName = "smtp.comcast.net"; 

my $from_address = 'me@comcast.net';
my $to_address   = 'me@hotmail.com';
my $subject      = 'MIME Test: Text';
my $mime_type    = 'text';
my $message_body = "Testing text in email.\n";

# Create the initial text of the message
my $mime_msg = MIME::Lite->new(
   From => $from_address,
   To   => $to_address,
   Subject => $subject,
   Type => $mime_type,
   Data => $message_body
   )
  or die "Error creating MIME body: $!\n";


# Attach the text file
my $filename = 'C:\tmp\test.txt';
my $recommended_filename = 'test.txt';
$mime_msg->attach(
   Type => 'application/text',
   Path => $filename,
   Filename => $recommended_filename
   )
  or die "Error attaching text file: $!\n";

# encode body of message as a string so that we can pass it to Net::SMTP.
my $message_body = $mime_msg->body_as_string();

# Let MIME::Lite handle the Net::SMTP details
MIME::Lite->send('smtp', $ServerName);
$mime_msg->send() or die "Error sending message: $!\n";

助けてください

4

1 に答える 1

1

ファイルの内容を に追加するだけ$message_bodyですよね?

my $message_body = "Testing text in email.\n";
{
  local $/ = undef;
  open FILE, "file" or die "...: !$";
  $message_body .= <FILE>;
  close FILE;
}

ただし、ファイルが大きすぎる場合は注意してください。

于 2012-11-13T19:29:09.697 に答える