Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.07.2013, 20:52   #1
rustam009
Новичок
Джуниор
 
Регистрация: 21.07.2012
Сообщений: 2
По умолчанию Outlook!Как эти два скрипта соединить?вроди легко но я jscript не знаю.

Код:
Надо чтобы вложения сохранялись по дате а в папке даты по контактам а если у одного контакта за одну дату больше одного вложенного файла то чтобы еще папки были типа 1,2,3 и в них по файлу.
вот код чтобы по дате :

if(command=='SaveAttachments'){
  var Directory = "c:\\Attachments\\"

  var RegExpData = /\d{1,2}[\.\-\/\\]\d{1,2}[\.\-\/\\]\d{2,4}/gi;
  var DateMail;
  var Match = RegExpData.exec(item.Subject+"");
  if(Match!=null){
    DateMail = Match[0]
  }else{
    // Если не найдена дата в теме, то взять дату создания письма
    DateMail = FormatDate(new Date(item.CreationTime), "<ddd>.<mm>.<yyyy>");
  }

  if(DateMail){
    // Приводим дату к формату dd.mm.yyyy
    DateMail = DateMail.replace(/[\.\-\/\\]/gi, '.');
    DateMail = DateMail.replace(/^(\d){1}\./gi, '0$1.');
    DateMail = DateMail.replace(/\.(\d){1}\./gi, '.0$1.')
    var MyDir = DateMail.replace(/\.(\d{2})$/gi, '.20$1');
    var fso = glob("Scripting.FileSystemObject");
    // Цикл по всем вложениям в письме
    for(var i=1;i<=item.Attachments.Count;i++){
      var DirForAttach = Directory+MyDir;
      if(!fso.FolderExists(DirForAttach)){ fso.CreateFolder(DirForAttach); }
      item.Attachments(i).SaveAsFile(DirForAttach+'\\'+item.Attachments(i).FileName);
    }
    fso = null
  }
}
 
а вот по папкам 
var Address = [
 		['support-potolook.ru',   'Folder_01'],
 		['info-potolook.ru',      'Folder_02'],
 		['добавьте почтовый ящик', 'добавьте имя папки']
 		  ]
но вот как их соединить незнаю.
и есть ли вариант чтобы при извлечении из сообщения  разархивировалось и в папке был файл из архива а не сам архив?

Последний раз редактировалось rustam009; 25.07.2013 в 11:28. Причина: добавил тег для кода
rustam009 вне форума Ответить с цитированием
Старый 24.07.2013, 23:42   #2
Fenex
Форумчанин
 
Аватар для Fenex
 
Регистрация: 15.02.2012
Сообщений: 821
По умолчанию

Если обрамлять код тэгом [CODE], то ваш код кто-то прочитает. А так понятно чуть менее, чем ничего. =(

Цитата:
Надо чтобы вложения сохранялись по дате а в папке даты по контактам а если у одного контакта за одну дату больше одного вложенного файла то чтобы еще папки были типа 1,2,3 и в них по файлу.
вот код чтобы по дате :

Код:
if(command=='SaveAttachments') {
    var Directory = "c:\\Attachments\\"

    var RegExpData = /\d{1,2}[\.\-\/\\]\d{1,2}[\.\-\/\\]\d{2,4}/gi;
    var DateMail;
    var Match = RegExpData.exec(item.Subject+"");
    if(Match!=null) {
        DateMail = Match[0]
    } else {
    // Если не найдена дата в теме, то взять дату создания письма
    DateMail = FormatDate(new Date(item.CreationTime), "<ddd>.<mm>.<yyyy>");
    }
    if(DateMail) {
        // Приводим дату к формату dd.mm.yyyy
        DateMail = DateMail.replace(/[\.\-\/\\]/gi, '.');
        DateMail = DateMail.replace(/^(\d){1}\./gi, '0$1.');
        DateMail = DateMail.replace(/\.(\d){1}\./gi, '.0$1.')
        var MyDir = DateMail.replace(/\.(\d{2})$/gi, '.20$1');
        var fso = glob("Scripting.FileSystemObject");
        // Цикл по всем вложениям в письме
        for(var i=1;i<=item.Attachments.Count;i++) {
            var DirForAttach = Directory+MyDir;
            if(!fso.FolderExists(DirForAttach)) { fso.CreateFolder(DirForAttach); }
            item.Attachments(i).SaveAsFile(DirF orAttach+'\\'+item.Attachments(i).F ileName);
        }
        fso = null
    }
}
а вот по папкам
Код:
var Address = [
    ['support-potolook.ru', 'Folder_01'],
    ['info-potolook.ru', 'Folder_02'],
    ['добавьте почтовый ящик', 'добавьте имя папки']
]
но вот как их соединить незнаю.
и есть ли вариант чтобы при извлечении разархивировалось еще?
^-.-^ My GitHub

Последний раз редактировалось Fenex; 24.07.2013 в 23:47. Причина: отформатированный 1ый пост
Fenex вне форума Ответить с цитированием
Старый 25.07.2013, 06:56   #3
rustam009
Новичок
Джуниор
 
Регистрация: 21.07.2012
Сообщений: 2
По умолчанию

Код:
вот это сохранение вложения по папкам полный код но не работает
<?xml version="1.0" encoding="UTF-8"?>
<TEMPLATES xmlns="http://schemas.positic.ru/plugins/mailtemplate.xsd">
	<NAME>Шаблон для файлового робота</NAME>
	<DESCRIPTION></DESCRIPTION>
	<AUTHOR>Positic</AUTHOR>
	<DATE>28.08.2006</DATE>
	<PATTERNS>
		<PATTERN kind="before" name="До" style="1">
			<TEXT><![CDATA[]]></TEXT>
		</PATTERN>
		<PATTERN kind="NEW" name="Новое сообщение">
			<TEXT><![CDATA[]]></TEXT>
		</PATTERN>
		<PATTERN kind="REPLY" name="Ответ">
			<TEXT><![CDATA[<%
nm.Subject = 'Отчет - '+om.Subject;

write(ReportText);

%>

-- 
Служба обработки входящих сообщений]]></TEXT>
		</PATTERN>
		<PATTERN kind="REPLYALL" name="Ответ всем">
			<TEXT><![CDATA[OQUOTES]]></TEXT>
		</PATTERN>
		<PATTERN kind="FORWARD" name="Переслать">
			<TEXT><![CDATA[----- Оригинальное сообщение -----
От:   OFROM
Дата: ODATE
Кому: <%=GetListRecipients(om)%>
Тема: OSUBJ

OTEXT
----- Оригинальное сообщение -----]]></TEXT>
		</PATTERN>
		<PATTERN kind="REPOST" name="Послать заново">
			<TEXT><![CDATA[]]></TEXT>
		</PATTERN>
		<PATTERN kind="after" name="После" style="1">
			<TEXT><![CDATA[]]></TEXT>
		</PATTERN>
		<PATTERN kind="beforeHTML" name="До HTML" style="1">
			<TEXT><![CDATA[]]></TEXT>
		</PATTERN>
		<PATTERN kind="NEWHTML" name="Новое сообщение HTML">
			<TEXT><![CDATA[]]></TEXT>
		</PATTERN>
		<PATTERN kind="REPLYHTML" name="Ответ HTML">
			<TEXT><![CDATA[]]></TEXT>
		</PATTERN>
		<PATTERN kind="REPLYALLHTML" name="Ответ всем HTML">
			<TEXT><![CDATA[]]></TEXT>
		</PATTERN>
		<PATTERN kind="FORWARDHTML" name="Переслать HTML">
			<TEXT><![CDATA[]]></TEXT>
		</PATTERN>
		<PATTERN kind="REPOSTHTML" name="Послать заново HTML">
			<TEXT><![CDATA[]]></TEXT>
		</PATTERN>
		<PATTERN kind="afterHTML" name="После HTML" style="1">
			<TEXT><![CDATA[]]></TEXT>
		</PATTERN>
		<PATTERN xmlns="" kind="bef_All_" name="Инициализация"><TEXT><![CDATA[//************************************
var Directory = "d:\\Outlook\\";
debugger
var Address = [
		['support@potolook.ru',   'Folder_01'],
		['info@potolook.ru',      'Folder_02'],
		['добавьте почтовый ящик', 'добавьте имя папки']
					]
var ReportToSender = true; // отсылать на обратный адрес отчет о сохраненных вложениях
             
//************************************

BodyFormat = olFormatPlain;
var ReportText = '';

DoSaveAttachments();

function DoSaveAttachments(){

	if(om.Attachments.Count==0){
	  nm = null;
	  return;
	}
	var Found = false;  
	for(var i=0;i<Address.length;i++){
		try{
			if((SourceMessagePart(mpFrom).toLowerCase()).indexOf(Address[i][0].toLowerCase())>=0){
			Directory += Address[i][1];
			Found = true;
			break; 
		}
		}catch(e){}  
	}
	if(!Found){
	  nm = null;
	  return;
	}
	ReportText += 'Принятые вложения:\n\n';
	
	for(var i=1;i<=om.Attachments.Count;i++){
		with(glob("Scripting.FileSystemObject"))
			if(!fso.FolderExists(Directory)){ fso.CreateFolder(Directory); }
		om.Attachments(i).SaveAsFile(Directory+'\\'+om.Attachments(i).FileName);
		ReportText += om.Attachments(i).FileName+'\n';  
	}    
	
	if(!ReportToSender){
		nm = null;
	}
}]]></TEXT></PATTERN></PATTERNS>
	<FDGDFG xmlns="">dfgdfg</FDGDFG><PARAMS xmlns=""/><GROUPS xmlns=""><GROUP name="Параметры"/></GROUPS></TEMPLATES>

Последний раз редактировалось rustam009; 25.07.2013 в 11:39.
rustam009 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
это легко- но я не знаю фаридун Помощь студентам 0 12.05.2012 13:49
Как совместить эти 2 скрипта, или что необходимо подправить? МIX JavaScript, Ajax 0 19.12.2009 09:03
соединить два 3d объекта NewXakep Помощь студентам 1 11.07.2009 11:34
помогите с зачетом.плиз.половину решил а вот эти не знаю как да и времени мало NEMO1991 Паскаль, Turbo Pascal, PascalABC.NET 5 25.12.2008 09:31
Очень нужно соединить два скрипта Yudgin JavaScript, Ajax 11 22.11.2007 13:38