Apr 282009
 

Biasanya From: header akan di isi oleh nilai dari settingan client masing2 user.

contoh: di thunderbird From: header akan di isi settingan dari Your Name:.

untuk email2 official From header bisa di paksakan supaya menggunakan nama user yg ada di database postfix user.
dengan bantuan altermime dan sedikit coding(c dan bash script).

altermime dapat di download disini:

www.pldaniels.com/altermime/

Coding c (access mysql db):

fungsinya untuk query field “name” (nama lengkap email user) di database postfix

paste code ini di console editor.(vi atau pico)

#include 
#include 
#include 
#include 

main(int argc,char *argv[]) {
   MYSQL *conn;
   MYSQL_RES *res;
   MYSQL_ROW row;

   char *server = "localhost";
   char *user = "user";
   char *password = "password";
   char *database = "db";
   char strsql[512];

   if(argc != 2)
   {
       printf("Usage: %s ’string query’\n", argv[0]);
       exit(EXIT_FAILURE);
   }

   snprintf(strsql, 512, "SELECT REPLACE(TRIM(name),’\n’,”) FROM mailbox WHERE username=TRIM(’%s’)", argv[1]);

   conn = mysql_init(NULL);

   /* Connect to database */
   if (!mysql_real_connect(conn, server,
         user, password, database, 0, NULL, 0)) {
      fprintf(stderr, "%s\n", mysql_error(conn));
      exit(EXIT_FAILURE);
   }

   /* send SQL query */
   if (mysql_query(conn, strsql)) {
      fprintf(stderr, "%s\n", mysql_error(conn));
      exit(EXIT_FAILURE);
   }

   res = mysql_use_result(conn);

     while ( (row = mysql_fetch_row(res))  !=  NULL )
      printf("%s\n", row[0]);
   return(0);

   /* Release memory used to store results and close connection */
   mysql_free_result(res);
   mysql_close(conn);
}

Continue reading »

Dec 162008
 

pertama enable pop di account gmail :

  • settings
  • Forwarding and POP/IMAP
  • Enable POP for all mail (even mail that’s already been downloaded)

kemudian, konfigur ftechmail dan procmail:

kita butuh procmail supaya bisa menyimpan emails ke dalam format maildir(1 file untuk satu email, mbox 1file besar yg berisi seluruh email)

/home/USER/.fetchmailrc :

poll pop.gmail.com
protocol pop3
username "ACCOUNT@gmail.com" password "PASSWORD"
keep ssl
mda "/usr/bin/procmail -m /home/USER/.procmailrc"

Kita menggunakan protokol pop3,email2 tetap di tinggal di server dan SSL di gunakan untuk me retrieve email2 kita.

/home/USER/.procmailrc :

MAILDIR=/home/USER/ VERBOSE=on
:0Mail/

Pengambilan awal :

Pertama kali, kita jalankan fetchmail secara manual di login shell kita. setelah beberapa saat ftechmail akan berhenti mengambil email.kita jalankan lagi beberapa kali sampai benar2 selesai.mungkin gmail membatasi session pengambilan.untuk mengambil email secaa berkala kita gunakan cronjob/crontab secara otomatis.

Setting crontab  session  USER untuk membackup setiap malam:

crontab -e
0 1 * * * /usr/bin/fetchmail > /dev/null 2> /home/USER/Mail/fetchmail.log

kita bisa menggunakan mutt untuk membaca email dari  CLI(command line interface) :

/home/USER/.muttrc :

set mbox_type=Maildir
set folder="~/Mail"
set mask="!^\\.[^.]"
set mbox="~/Mail"
set record="+.Sent"
set postponed="+.Drafts"
set spoolfile="~/Mail"