Roundcube Community Forum

 

where to insert a php code for plaintext encryption prior of sending

Started by criscal, October 14, 2009, 10:42:35 PM

Previous topic - Next topic

criscal

Hi to all citizens of this forum, right now i am doing a research on roundcube mail on how to integrate an encryption algorithm on the system to make it like a PGP mail application.  Can anybody help me on this?

SKaero

Support for GPG/PGP encryption is planed for a latter release.

criscal



criscal

well anyway, as of now, what i need is i want to know the structure or the system flow of roundcube so that i'll be able to integrate the feature, coz right now i am working on it, by the way do you have any documentations on this?  Iif its successful i can share it with you.  Actually i find it more interesting, so that roundcube will be competent with others so to speak.

SKaero

Documentation is still a little under developed, but you can check out Dev_Docs ? Roundcube Webmail for RoundCube's basic structure.

JohnDoh

I think work has already started, check out PluginRepository/Encryption ? Roundcube Webmail, if you want to help out then the best way is probably to head over to the dev mailing list.
Roundcube Plugins: Contextmenu, SpamAssassin Prefs, and more...

criscal

thank you for the information.  But first i need to review the documentation.  I am hoping that many of us well work on this project.

criscal

i run through and analyze the code of parsing the email address.  Does anyone knows how to extract the email address of the recipient?

This is the code under sendmail.inc.
// parse email address input
function rcmail_email_input_format($mailto)
{
  $regexp = array('/[,;]\s*[\r\n]+/', '/[\r\n]+/', '/[,;]\s*$/m', '/;/', '/(\S{1})(<\S+@\S+>)/U');
  $replace = array(', ', ', ', '', ',', '\\1 \\2');

  // replace new lines and strip ending ', ', make address input more valid
  $mailto = trim(preg_replace($regexp, $replace, $mailto));

  $result = array();
  $items = rcube_explode_quoted_string(',', $mailto);

  foreach($items as $item) {
    $item = trim($item);
    // address in brackets without name (do nothing)
    if (preg_match('/^<\S+@\S+>$/', $item)) {
      $result[] = $item;
    // address without brackets and without name (add brackets)
    } else if (preg_match('/^\S+@\S+$/', $item)) {
      $result[] = '<'.$item.'>';
    // address with name (handle name)
    } else if (preg_match('/\S+@\S+>*$/', $item, $matches)) {
      $address = $matches[0];
      $name = str_replace($address, '', $item);
      $name = trim($name);
      if ($name && ($name[0] != '"' || $name[strlen($name)-1] != '"')
          && preg_match('/[\(\)\<\>\\\.\[\]@,;:"]/', $name)) {
     $name = '"'.addcslashes($name, '"').'"';
      }
      if (!preg_match('/^<\S+@\S+>$/', $address))
        $address = '<'.$address.'>';

      $result[] = $name.' '.$address;
    } else if (trim($item)) {
      // @TODO: handle errors
    }
  }

  return implode(', ', $result);
}
thnks in advance!

criscal

hi everybody, after a couple of weeks doing a PGP integration with RCmail, i successfully made RCmail a PGP capable, although the strategy is simple but RCmail is capable of sending encrypted email message to other email service providers such as yahoo, gmail, etc. and they will be able to decrypt it.

SKaero


oldschool

Yes, i´m interested, too.
Would be lovely to use PGP...


Rgds.

criscal

no problem... but as of this moment i am doing some minor enhancement of the system. And as soon as i am done that's the time that i can share it.  

By the way do you know some free online free hosting with openssl enabled? so that i can upload it so that everybody can try it?