3

PHP で PEAR Mail を使用して CSV を送信できません。メッセージ OK を受信でき、CSV 添付ファイルを開くこともできますが、内容は通常の CSV ではなく、base64 でエンコードされた文字列として表示されます。

関連するコードは次のようになります。

SUQsRW添付されているCSVで。

明らかに私が目指していたものではありません!

// $csv is originally something like
// a,b,c,d,e
// d,e,f,g,h

$csv = base64_encode($csv);
$from = "...";
$to = "...";
$subject = "...";

$headers = array();
$headers['From'] = $from;
$headers['To'] = $to;
$headers['Subject'] = $subject;

// The attachment
$mime = new Mail_mime();
$mime->addAttachment($csv, "text/csv", "report.csv", false);
$mime->setTXTBody($bodyText);

$params = array();
$params['text_charset'] = 'utf-8';

$body = $mime->get($params);
$headers = $mime->headers($headers);

$smtp = Mail::factory('smtp', [unrelated server args]);
$mail = $smtp->send($to, $headers, $body);
4

1 に答える 1

3

したがって、実際のファイルの内容を base64 でエンコードする必要はないようです。いずれにしても、Excel でファイルを開くことができず、次のエラーが表示されました。

SYLK: File format is not valid

解決策はここで説明されています。KB によると、Excel for Mac にのみ適用されますが、Windows でエラーが表示されました。IDいずれにせよ、解決策は正しいです。CSVは最初の 2 文字で始めることはできません。

于 2012-09-20T01:51:15.297 に答える