home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #3 / NN_1993_3.iso / spool / comp / unix / admin / 7248 < prev    next >
Encoding:
Internet Message Format  |  1993-01-27  |  6.5 KB

  1. Path: sparky!uunet!stanford.edu!unixhub!fnnews.fnal.gov!fnsony.fnal.gov!shah
  2. From: shah@fnsony.fnal.gov (Hemant Shah)
  3. Newsgroups: comp.unix.admin
  4. Subject: Re: VMS to UNIX transition, e-mail questions
  5. Date: 26 Jan 1993 18:10:05 GMT
  6. Organization: Fermi National Accelerator Laboratory, Batavia, IL
  7. Lines: 167
  8. Distribution: usa
  9. Message-ID: <1k3uptINNpf3@fnnews.fnal.gov>
  10. References: <C1GuE7.LtF@ra.nrl.navy.mil>
  11. Reply-To: shah@fnsony.fnal.gov
  12. NNTP-Posting-Host: fnsony.fnal.gov
  13.  
  14. In article <C1GuE7.LtF@ra.nrl.navy.mil>, browning@ccfsun.nrl.navy.mil (Donald R. Browning) writes:
  15. |> Our site provides e-mail service on a VAXcluster for
  16. |> approximately 200 administrative users.  Most of these are
  17. |> novice users for whom e-mail is the primary, and in many
  18. |> cases the exclusive, reason for accessing our systems.  Our
  19. |> VMS VAXes are being phased out this year, replaced by a UNIX
  20. |> platform.  Some of these users will be able to fall back on
  21. |> VAXes in their divisions; while others, with PCs or Macs,
  22. |> will be supplied with a POPmail interface to access messages
  23. |> stored on our UNIX-based file server system.  However, we
  24. |> expect that many users will need to make the transition to
  25. |> the UNIX mail utility.
  26. |> 
  27. |> A concern has been raised about "old" messages stored in VMS
  28. |> MAIL.MAI files.  If our users simply forward them to the
  29. |> UNIX platform or the file server, the original date of
  30. |> receipt will no longer appear when the UNIX user lists the
  31. |> message headers, i.e. they will see the date of transfer
  32. |> instead.  This should not be a problem for users who took
  33. |> our e-mail course and organized their messages in folders,
  34. |> as was highly recommended.  However, we anticipate that a
  35. |> number of these users will have many (a year's worth)
  36. |> messages stored in one folder, "MAIL", and that their most
  37. |> common method of searching through the messages listing is
  38. |> by scanning the receipt dates.
  39. |> 
  40. |> With this situation in mind, I would like to pose the
  41. |> following questions:
  42. |> 
  43. |> 
  44. |>       1) If your site has gone through a transition like
  45. |>       this, how did you handle the e-mail message
  46. |>       storage?
  47. |>       
  48. |>       2) Has anyone written a utility that will convert
  49. |>       VMS mail headers into a format that can be
  50. |>       "recognized" by the UNIX Mail utility?  Ideally, 
  51. |>       we would like to create an extracted file of VMS 
  52. |>       mail, convert it, and then ftp the file to our
  53. |>       UNIX platform as the user's "mbox" file.
  54. |>       
  55. |>       3) Are there other important considerations that
  56. |>       we have overlooked?
  57. |> 
  58. |> 
  59. |> Please e-mail responses.
  60. |> 
  61. |> 
  62. |> 
  63. |> -- 
  64. |> 
  65. |> 
  66. |>                 Donald R. Browning
  67. |>                 Code 5841.3 
  68.  
  69. Here is the FORTRAN program I have received from Dan Fox. 
  70. I have not yet tried it this program myself, but some users have tried and they
  71. were happy :-)
  72.  
  73.  
  74. From: fox@vulcan.noarl.navy.mil (Dan Fox)
  75.  
  76. I just sent this to Francisco...  It was how I converted all the VAX
  77. mail folders over to files that unix mail would understand.  There were
  78. a few reported failures, but it handled all my mail folders properly.
  79.  
  80.  
  81. c--------------------------------------------------------------
  82. c  program:  mailfix
  83. c--------------------------------------------------------------
  84. c  purpose:  convert VAX mail to UNIX
  85. c--------------------------------------------------------------
  86. c  version:  1.0 : 25 Oct 1989 : D N Fox : NORDA Code 323
  87. c--------------------------------------------------------------
  88. c  procedure:
  89. c     1. On the VAX side, if you have any new mail, read it
  90. c        and exit MAIL so that when you come back into MAIL,
  91. c        you have no new messages.
  92. c     2. Select all messages using something like:
  93. c             mail> select/since=01-jan-1900
  94. c     3. Save all these to a file:
  95. c             mail> extract/all dua10:[scratch.you]vax.mail
  96. c     4. ftp this file to your Sun
  97. c     5. On the Sun side, run the 'mailfix' program:
  98. c             cat vax.mail | mailfix > mbox_vax
  99. c     6. Now you can read 'mbox_vax' as a normal mailbox.
  100. c        In Mailtool, you can enter this name on the file line
  101. c        and click on the 'folder' button.  
  102. c--------------------------------------------------------------
  103.       character*1 buffer(200000)
  104.       nchar=1
  105.       do imsg=1,9999
  106. c  read until a ^L (or EOF) is encountered
  107.         call getmsg(buffer,200000,nchar,ierr)
  108. c  if this is a real message, fix it and write it out
  109.         if(nchar.gt.1) then
  110.           call fixmsg(buffer,nchar)
  111.           call putmsg(buffer,nchar)
  112.         endif
  113. c  set up for remainder of next msg
  114.         buffer(1)=char(12)
  115.         nchar=2
  116. c  did we run into EOF?
  117.         if(ierr.ne.0) call exit(0)
  118.       enddo
  119.       end
  120. c--------------------------------------------------------------
  121.       subroutine getmsg(msg,maxlen,nchar,ierr)
  122. c--------------------------------------------------------------
  123. c  on entry, nchar points to where to put the first character
  124. c  read.  on exit, nchar points to the last valid character
  125.       character*1 c,newpag,msg(*)
  126.       integer getc
  127.       newpag=char(12)
  128.       i1=nchar
  129.       do i=i1,maxlen
  130. c  read a character
  131.         ierr=getc( c )
  132. c  if EOF, return
  133.         if(ierr.ne.0) return
  134. c  if it's a ^L character just return with what we've got so far
  135.         if(c.eq.newpag) return
  136. c  otherwise, save it...
  137.         msg(i)=c
  138.         nchar=i
  139.       enddo
  140. c  if we get here, we ran out of space - that's an error!!
  141.       return
  142.       end
  143. c--------------------------------------------------------------
  144.       subroutine fixmsg(msg,nchar)
  145. c--------------------------------------------------------------
  146.       character*1 msg(*)
  147.       character*5 test
  148. c  make sure we have one that needs fixing...
  149.       do i=1,5
  150.         test(i:i)=msg(2+i)
  151.       enddo
  152.       if(test.eq.'From:') then
  153.         msg(1)=msg(2)
  154.         msg(7)=' '
  155.       endif
  156.       return
  157.       end
  158. c--------------------------------------------------------------
  159.       subroutine putmsg(msg,nchar)
  160. c--------------------------------------------------------------
  161.       character*1 c,msg(*)
  162.       integer putc
  163.       do i=1,nchar
  164.         c=msg(i)
  165.         ierr=putc( c )
  166.       enddo
  167.       return
  168.       end
  169.  
  170.  
  171.  
  172. -- 
  173. -------------------------------------------------------------------------------
  174. Hemant Shah                            | All the opinions expressed are my own
  175. Fermi National Accelerator Laboratory  | and does not necessarily reflect
  176. Systems Integration Group              | those of Fermilab.
  177. E-mail :shah@fnal.fnal.gov             |
  178.  Voice : (708) 840-8071                   | I haven't lost my mind
  179.    Fax : (708) 840-2783                | it's backed on tape somewhere.
  180. -------------------------------------------------------------------------------
  181.