notes邮件导入mysql,怎么实现?

解决方案 »

  1.   

    主要思路是:
    取出发件人地址,收件人地址,日期等关键信息,邮件内容作为二进制数据,用INSERT语句插入到MySQL的表中。
      

  2.   

    From := @Text(From);
    sendTo := @Text(sendTo);
    copyTo := @Text(copyTo);
    blindCopyTo := @Text(blindCopyTo);
    Subject := @Text(Subject);
    Body := @Text(Body);
    sTime := @Text(@Created);
    iTime := @Text(@Now([ServerTime] : [LocalTimeOnError];"Snapper" : "Tornado")); @Char(13);
    v := "'" + From + "','" + sendTo + "','" + copyTo + "','" + blindCopyTo + "','" + Subject + "','" + Body + "','" + sTime + "','" + iTime + "'";
    sql := "insert into tbl_mail(sFrom,sTo,sCc,sBcc,sSubject,sBody,dSendtime,dInserttime) values (" + v +")";
    con := @DbCommand("ODBC";"mysql_odbc";"root";"root";sql);
    @If(con ="";@Prompt([Ok]; "邮件导入"; "邮件导入成功!");@Success)
      

  3.   

    mysql-connector-odbc-3.51.17-win32.msi  
    ODBC 数据源管理器 
      

  4.   

    CREATE TABLE IF NOT EXISTS `tbl_mail` (
      `iId` bigint(20) NOT NULL auto_increment,
      `sFrom` varchar(100) NOT NULL,
      `sTo` mediumtext NOT NULL,
      `sCc` mediumtext NOT NULL,
      `sBcc` mediumtext NOT NULL,
      `sSubject` mediumtext NOT NULL,
      `sSimpleBody` mediumtext NOT NULL,
      `sFullBody` mediumtext NOT NULL,
      `sImporter` varchar(100) NOT NULL,
      `dSendtime` datetime NOT NULL default '0000-00-00 00:00:00',
      `dInserttime` datetime NOT NULL default '0000-00-00 00:00:00',
      PRIMARY KEY  (`iId`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=gb2312 ;
      

  5.   

    @Prompt([Ok]; "系统消息"; "请注意:无法导入图片、表格和附件!");
    From := @Text(From);
    sendTo := @Implode(@Text(sendTo);",");
    copyTo := @Implode(@Text(copyTo);",");
    blindCopyTo := @Implode(@Text(blindCopyTo);",");
    Subject := @Text(Subject);
    sBody := @ReplaceSubstring(@AbstractSimple("Body");"'";"\\'");
    fBody := @ReplaceSubstring(@Abstract([TryFit]; @DocLength; ""; "Body");"'";"\\'");
    fBody := @ReplaceSubstring(fBody;@NewLine;"<br/>");
    importer := @UserName;
    sTime := @Text(@Created);
    iTime := @Text(@Now([ServerTime] : [LocalTimeOnError];"Snapper" : "Tornado"));
    v := "'" + From + "','" + sendTo + "','" + copyTo + "','" + blindCopyTo + "','" + Subject + "','" + sBody +"','" + fBody +"','" + importer +"','" + sTime + "','" + iTime + "'";
    sql := "insert into tbl_mail(sFrom,sTo,sCc,sBcc,sSubject,sSimpleBody,sFullBody,sImporter,dSendtime,dInserttime) values (" + v + ")";
    con := @DbCommand("ODBC";"mysql_odbc";"root";"root";sql);
    @If(con ="";@Prompt([Ok]; "系统消息"; "邮件导入成功!");@False)