我創建了一個就業應用程序,允許申請人以pdf,doc或docx擴展名上傳他們的簡歷。然後,我通過電子郵件將他們的信息發送給使用Sendgrid的人力資源。Sendgrid將只發送utf-8附件
我已經通過測試發現,發送電子郵件時,我收到一個錯誤:
參數附件[resume.pdf]是不是UTF8
我怎樣才能解決這個問題,我應該編碼每個上傳到utf-8的文件,然後將其附加到電子郵件中?這是否會產生任何問題或單獨修改用戶上傳的簡歷?
這是我的PHP捲曲的代碼,我使用通過SendGrid API發送: (注:我不得不使用REST API,沒有客戶端的Web服務器上配置SMTP)
<?php
$mail['from'] = '[email protected]';
$mail['fromname'] = 'Human Resources';
$mail['to'] = '[email protected]';
$mail['subject'] = character_limiter('Employment: '. $application['position'], 50);
$mail['html'] = '<p><strong>Name:</strong> '.$application['firstname'].' '.$application['lastname'].'</p>';
$mail['html'] .= '<p><strong>Position:</strong> '.$application['position'].'</p>';
$mail['html'] .= '<p><strong>Date:</strong> '.mdate('%m/%d/%Y %g:%i %A', $application['timestamp_saved']).'</p>';
$mail['html'] .= '<p><strong>Email:</strong> '.$application['email'].'</p>';
$mail['files['.$application['pdf'].']'] = '@saved_applications/'. $application['pdf'];
//Sendgrid Credientals
$mail['api_user'] = 'sendgrid_user';
$mail['api_key'] = 'sendgrid_pass';
print_r($mail);
// Generate curl request
$session = curl_init('https://sendgrid.com/api/mail.send.json');
curl_setopt ($session, CURLOPT_POST, true);
curl_setopt ($session, CURLOPT_POSTFIELDS, $mail);
curl_setopt($session, CURLOPT_HEADER, false);
curl_setopt($session, CURLOPT_RETURNTRANSFER, true);
// obtain response
$response = curl_exec($session);
curl_close($session);
// print everything out
$output = json_decode($response, TRUE);
print_r($output);
?>
看起來像sendgrid結束一個錯誤,你嘗試過他們的支持? –