Files
sam-kd/email/send_email_alternative.php
hskwon aca1767eb9 초기 커밋: 5130 레거시 시스템
- URL 하드코딩 → .env APP_URL 기반 동적 URL로 변경
- DB 연결 하드코딩 → .env 기반으로 변경
- MySQL strict mode DATE 오류 수정
2025-12-10 20:14:31 +09:00

98 lines
4.0 KiB
PHP

<?php
require_once($_SERVER['DOCUMENT_ROOT'] . "/session.php");
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require $_SERVER['DOCUMENT_ROOT'] . '/vendor/autoload.php'; // 운영 서버에서의 경로
header('Content-Type: application/json');
$email = $_POST['email'] ?? '';
$vendorName = $_POST['vendorName'] ?? '';
$filename = $_POST['filename'] ?? '' ; // 전달받은 파일명
$item = $_POST['item'] ?? ''; // 거래명세표, 견적서, 총거래원장 등 선택
$issueDate = $_POST['formattedDate'] ?? ''; // [24.07.30]형태의 날짜
$sendCompany = '(주)경동기업';
function sendInvoiceEmail($to, $vendorName, $sendCompany, $issueDate, $item, $filename = null) {
$mail = new PHPMailer(true);
$setFrom_email = 'kd5130@naver.com'; // 보내는 회사이메일
$email = 'kd5130@naver.com'; // 보내는 회사이메일 표기되는 것
$password = 'kd9835130'; // 대한 메일 패스워드
$setFrom_company = '(주)경동기업'; // 보내는 회사
$phone = '031-983-5130';
try {
$mail->isSMTP();
$mail->Host = 'smtp.naver.com';
$mail->SMTPAuth = true;
$mail->Username = $setFrom_email;
$mail->Password = $password;
$mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS;
$mail->Port = 465;
$mail->CharSet = 'UTF-8';
$mail->setFrom($setFrom_email, $setFrom_company);
$mail->addAddress($to);
// 첨부파일 추가
if ($filename) {
$filePath = $_SERVER['DOCUMENT_ROOT'] . '/pdfs/' . basename($filename); // 파일 경로
if (file_exists($filePath)) {
$mail->addAttachment($filePath);
} else {
echo json_encode(['error' => "File does not exist: {$filePath}" ]);
return;
}
}
$mail->isHTML(true);
$mail->Subject = '[' . $sendCompany . '](으)로부터 [' . $item . '](이)가 도착했습니다. ' . $issueDate;
// HTML 내용 작성
$mail->Body = '
<html>
<body>
<p>수신 : ' . $vendorName . '</p> <br>
<p>' . $sendCompany . '(으)로부터 ' . $item . '(이)가 도착하였습니다.</p>
<br>
<table border="1" style="border-collapse: collapse; width: 100%;">
<tr>
<th style="padding: 8px; text-align: left;">보낸회사</th>
<td style="padding: 8px;">' . $sendCompany . '</td>
<th style="padding: 8px; text-align: left;">발행일자</th>
<td style="padding: 8px;">' . $issueDate . '</td>
</tr>
<tr>
<th style="padding: 8px; text-align: left;">Email</th>
<td style="padding: 8px;">' . $email . '</td>
<th style="padding: 8px; text-align: left;">연락처</th>
<td style="padding: 8px;">' . $phone . '</td>
</tr>
<tr>
<th style="padding: 8px; text-align: left;">메모</th>
<td style="padding: 8px;" colspan="3"></td>
</tr>
</table>
</body>
</html>';
$mail->AltBody = '수신 : ' . $vendorName . '\n' . $sendCompany . '(으)로부터 ' . $item . '(이)가 도착하였습니다.\n보낸회사: ' . $sendCompany . '\n발행일자: ' . $issueDate . '\nEmail: dhm2024@naver.com\n연락처: 010-3966-2024\n메모:';
// 읽음 확인 설정
$mail->addCustomHeader('Disposition-Notification-To', $setFrom_email);
$mail->addCustomHeader('Return-Receipt-To', $setFrom_email);
$mail->send();
echo json_encode(['success' => '메일이 전송되었습니다.']);
} catch (Exception $e) {
echo json_encode(['error' => "Message could not be sent. Mailer Error: {$mail->ErrorInfo}"]);
}
}
sendInvoiceEmail($email, $vendorName, $sendCompany, $issueDate, $item, $filename);
?>