Example usage for com.liferay.portal.kernel.util PropsKeys MAIL_HOOK_SENDMAIL_HOME

List of usage examples for com.liferay.portal.kernel.util PropsKeys MAIL_HOOK_SENDMAIL_HOME

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.util PropsKeys MAIL_HOOK_SENDMAIL_HOME.

Prototype

String MAIL_HOOK_SENDMAIL_HOME

To view the source code for com.liferay.portal.kernel.util PropsKeys MAIL_HOOK_SENDMAIL_HOME.

Click Source Link

Usage

From source file:com.liferay.mail.util.SendmailHook.java

License:Open Source License

public void addForward(long companyId, long userId, List<Filter> filters, List<String> emailAddresses,
        boolean leaveCopy) {

    try {/*w w  w.  j  a v  a  2s .  c  o  m*/
        if (emailAddresses != null) {
            String home = PropsUtil.get(PropsKeys.MAIL_HOOK_SENDMAIL_HOME);

            File file = new File(home + "/" + userId + "/.forward");

            if (emailAddresses.size() > 0) {
                StringBundler sb = new StringBundler(emailAddresses.size() * 2);

                for (int i = 0; i < emailAddresses.size(); i++) {
                    String emailAddress = emailAddresses.get(i);

                    sb.append(emailAddress);
                    sb.append("\n");
                }

                FileUtil.write(file, sb.toString());
            } else {
                file.delete();
            }
        }
    } catch (Exception e) {
        _log.error(e, e);
    }
}

From source file:com.liferay.mail.util.SendmailHook.java

License:Open Source License

public void updateBlocked(long companyId, long userId, List<String> blocked) {

    String home = PropsUtil.get(PropsKeys.MAIL_HOOK_SENDMAIL_HOME);

    File file = new File(home + "/" + userId + "/.procmailrc");

    if ((blocked == null) || (blocked.size() == 0)) {
        file.delete();//from   w  ww .j  a va2  s  .c  o m

        return;
    }

    StringBundler sb = new StringBundler(blocked.size() * 9 + 3);

    sb.append("ORGMAIL /var/spool/mail/$LOGNAME\n");
    sb.append("MAILDIR $HOME/\n");
    sb.append("SENDMAIL /usr/smin/sendmail\n");

    for (int i = 0; i < blocked.size(); i++) {
        String emailAddress = blocked.get(i);

        sb.append("\n");
        sb.append(":0\n");
        sb.append("* ^From.*");
        sb.append(emailAddress);
        sb.append("\n");
        sb.append("{\n");
        sb.append(":0\n");
        sb.append("/dev/null\n");
        sb.append("}\n");
    }

    try {
        FileUtil.write(file, sb.toString());
    } catch (Exception e) {
        _log.error(e, e);
    }
}