сохранение писем на mysql для сотрудников CRM - PullRequest
0 голосов
/ 09 января 2012

У меня есть система взаимоотношений с клиентами, которую я построил, и я хотел бы знать, как лучше всего сохранять электронные письма в mysql, поэтому мне не нужно создавать для каждого сотрудника фактический адрес электронной почты, так как у нас есть сотрудникидоступ к CRM, а не outlook.

, если есть какая-либо документация, которая может помочь.

Ответы [ 3 ]

1 голос
/ 09 января 2012

Письмо само по себе уже содержит все необходимые данные, если вы не забыли записать заголовки.

Вы должны обязательно сохранить полные заголовки, потому что это будет полезно, если возникнут проблемы склиентов.Только заголовки являются доказательством.

Конечно, вам нужно будет добавить в mysql столбцы с вашими персонализированными данными: customer_id, user_id и всем, что нужно вашей CRM.

Кроме этого, даже если ониВ электронном письме вы можете добавить некоторые столбцы mysql, которые могут быть вам полезны CRM: дата, тема, user_to, address_from ... все зависит от того, как вы их используете.

Я думаю, я бы оставил в BLOBполное содержание письма, так как файлы могут быть прикреплены.Может закончиться больше, чем 10 МБ ...

1 голос
/ 08 февраля 2012

Структура базы данных: Это всего лишь псевдо sql, чтобы показать вам, что вы можете использовать для своей структуры таблицы ..

CREATE table `emails`
id int auto_increment primary_key
email_to varchar 255
email_cc varchar 255
email_bcc varchar 255
email_from varchar 255
email_subject varchar 255
email_message text
customer_id int
user_id int

#use this field to flag the email to be sent
#i use a cron task that sends x emails per x minutes 
#to avoid spam filtering and black listing
email_flag ENUM (0,1) default 0
email_sent_timestamp int
email_created_timestamp int
email_has_attachments ENUM (0,1) default 0

#this will be a serialized field of filenames
#using a naming convention as such: user_id_timestamp.pdf
#that you could use php to split and return. 
#IE: 13_15648461867.pdf;14_5186484834.jpg
email_attachments text

Загрузка файла: iлично я бы не рекомендовал использовать mysql для хранения файлов, особенно если они довольно большие.Гораздо проще использовать php и его файл interactiosn для загрузки в каталог до отправки электронного письма.

хранить файлы в папке chmod 777 с именем /uploads

Пример файлаupload. Загружает как временное имя файла и проверяет, существует ли он.Поиск Google предоставил этот фрагмент.http://www.tizag.com/phpT/fileupload.php

<?php
$target_path = "/uploads/";

$target_path = $target_path . basename( $_FILES['uploadedfile']['name']); 

if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
    echo "The file ".  basename( $_FILES['uploadedfile']['name']). 
    " has been uploaded";
} else{
    echo "There was an error uploading the file, please try again!";
}
?>

Сохраните имя файла в таблице базы данных .. используйте PHP split и foreach при отправке электронного письма для прикрепления документов.

<?php
$attachments = split(";", $email_attachments);
foreach ($attachments as $a){
    // attachments code here, see php mail()
    // http://www.php.net/manual/en/function.mail.php#105661
}
//create a script that doesn't have web access 
//to be initiated via cron that connects to the `emails` table
//and retrieves all emails that are email_flag=0
//put them into array, and loop through 10 at a time for every 5 minutes
//send out the email
//set email_flag to 1
?>

ЕСЛИ вам нужен реальный кодобразцы, дайте мне знать.И я могу привести рабочий пример вместе.

0 голосов
/ 09 января 2012

Я думаю, что «электронная почта» почти означает «пост».Так что просто создайте таблицу mysql: id, user_id, email_id и сохраните в ней электронные письма.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...