Posts

spamtrainer

spamtrainer assists Mac OS X Server mail services administrators in updating and maintaining their SpamAssassin bayes database.

spamtrainer will read the designated HAM and SPAM mailboxes, update the SpamAssassin databases and delete mail that has been learned from.
It has an array of additional functions. Among them the possibility to backup/restore your bayes database and many more.
This script is written for OS X 10.8.x, 10.9.x , 10.10.x, 10.11.x, 10.12.x and 10.13.x with Server 2.x/3.x/4.x/5.x. A separate release is available for earlier OS X versions.

See current changelog for a complete list of fixes and additions.
Please read our FAQs as well.

spamtrainer is a free download.

 

 

Error when sending mail from Roundcube Webmail

Symptom:
You can login to Roundcube/Webmail but receive an error when sending.

Possible Solution:
Edit the following file
/usr/local/topicdesk/roundcube/WebApp/config/config.inc.php

Add the following 2 lines
$config['smtp_user'] = '%u';
$config['smtp_pass'] = '%p';

Changes take effect immediately, no need to logout.

Test sending mail.


Please leave a comment if this worked for you, or if it didn’t and you’d like additional advice.

Jeff

How Do I Add a Webmail Icon to the Default OS X Server Page?

Screenshot 2016-03-03 14.32.32
Please read the complete tutorial before attempting This tutorial is valid for OS X 10.10 & 10.11 running Server app 5


To complete this tutorial you will need Terminal and your favorite text editor (Sublime Text or Adobe Brackets are great for this) and of course admin privileges.

Step 1 – copy default page to Desktop

To locate the correct path for your language paste this command into Terminal

ls /Library/Server/Web/Data/Sites/Default/

In Terminal paste in the following code: This example is using the English version simply adjust for your default server language

cp -H /Library/Server/Web/Data/Sites/Default/default.html.en ~/Desktop/default.html

Step 2

Now that we have a workable copy open the default.html page on your desktop in your text editor.

We will be adding in 3 sections of code into the page.

The first will be located close to the top of the file after the opening style tag around line 42. Locate either visually or by using the Find option the section that looks like this, paste this code over top of the existing code: (alternatively you can just change the height value from 496 to 575).

modified CSS for page spacing

#main {
width: 658px;
height: 575px; /* changed from 496 to 575 */
position: relative;
margin-top: 20px;
margin-bottom: 20px;
padding-left: 36px;
padding-right: 36px;
}

The next code block will be entered around line 141 right before the code that reads:

#bottom .item .item_desc_container {

Click the empty line before the code above and hit enter a couple of times to create space and then paste in the following code:

CSS code for icon(s) – This covers both standard & hidpi icons

/* Begin Webmail Icon in base64 encoding */
#bottom .item .img_item.webmail {
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAAlwSFlzAAALEwAACxMBAJqcGAAAAVlpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KTMInWQAAEyNJREFUeAHtmneQVkWzxg9JMYAImAFFDKioiNkrll7rlmW6WgbUa0Dl+7TEEjFnLXO4oqWUocw5Q5lDGVZFxUCZE4qggjknlE1zn1+/5zmcfdldd2Hxr9tV886cCT3dPT09PT1vp+yfg06ayolZKRuSC8oblcrfpaaOL5aJ6Gjs4O6cJ5hqaMcEjOuihCAYS1oosDAEYKbrm6G4t+r6kBZddNEeSl0bGhoa58yZM7u+vv4n1f+o9K1S9ViEAbRHiJURf/PbkQJojsjByy233JaLL774Jl26dFm3U6dO/VJKfevq6rr/9ddfWW1tbab6bJFFFsm6devWIIEghK/U52P1efXnn3+erDRFdbNzPqCXeRDEP7ZN8rlbzKyu7tBPhbErrrjipEGDBv2pMoTOV1p++eXTGmusMXWFFVa4TDg2VSpD1/LH/JYXVAMgwuo6uE+fPmN69Oix16+//tr7xx/R5oD6PffcM2200UadBg4c2Llfv36seKfFFlss69q1a6YtkEn9Sen333/PPv300/Thhx+mxx9/PHv99dcLJlddddWkPk9//vnn44X1wRx32U7kVf9M5n3ObH2lxuNF4ByVvdL1RxxxRN0zzzzTMGPGDBiTVrcPJMD0xhtvNF511VX1W2yxRZ1xIwhpRo2+hysZCkG5YmHm5cn2kXrOVDLjtTfccEPDuHHj0oEHHpimT5/ePq5b6I0wnnjiicY99tgDQcT+RxAqj1NaLGe2TFde1fFZtxxld+XXr7baagXj5513XsOsWbOSLHoaPXq069P555+fUOs///wzffHFF+mdd95JL7/8cnrkkUfSxIkT0wMPPJCef/759O6776avvvoq+pXl0NjYWHyC48knn2zcdNNNazV/WnnlldMyyyzzvsrDcroQwoJu6xzVvJmZ76c9PCVfgYbhw4fXv/baawWRMKShSWqbdAJEeaWVVkoHHHBA6tu3byEY+lSn/v37p3333Tddfvnl6cUXX0zff/99gVe2oij/8MMP6bLLLsM3CEFoHMZ2hBLA9uxwIZj5Ib169ZolQwbxcy644IJGHVMFYd98800wtfbaa6fJkyennXfeuQmTAwYMSGgNjK6yyipJRjFyyqVtVIxZffXVQxgYRYOORxdDc0RHCEEnDuPGKAEdKoSC+aWXXvp7JSaac9dddxWEeHVuuummIP6WW26JtrPOOiu+WdFDDz00yhqbIFZnfvFNnXyEtOSSS4bWoF0Ii3onttJnn302z5zYmc022yyMZC6EsRoDdIgQbFj6sfJm/rHHHgtCyvvzueeeC2I32GCD9O2330Z7TU1N1N13331JTk+6//7707rrrht1cnwSjJKL2BAAuRMCYT764A+4fsKECRyHgR+cwNdff5101HIcN+ZCOFhlwPRXvtr5iwSB7ux5q72Z96qjkjqqCgIxbgZviR122CEEQP13332Xrr/++qL/sssuG1tC8xR11eXOnTuHIFx/1FFHFfbBQsBebL/99gghtpXyrZSA+RaCBXBDbvAKtTfznO8nnXRSQfjee++d/vjjD/Mf+cknnxzt5X1MAyfDueeeW4zFDpRXGg0Q8U1Sz54901prrRV122yzTcLHACwEtohOhdgOMsCfa/xySEBgN73y1YZfS22f/KhrwOAxmdUe5g855JAgRsdS5Bg+AAFZSDq2ou3uu++ONtTXOKh477330pFHHhl9RFcYyd69exff1FUnucdF3dSpUwOvhfDmm2/SNoftI5syUWWAU6HNJ4NXvi9Ojgamrbbaqv6nn36KifhhMq/8JptsEsSMHTu22JswaAHMnDkz2keNGhU+AuPL7Xyz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);
}

body.hidpi #bottom .item .img_item.webmail {
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAAAXNSR0IArs4c6QAAAAlwSFlzAAALEwAACxMBAJqcGAAAAVlpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KTMInWQAALlRJREFUeAHtnQe4JUWxx2dBEJEgSRARFhBBRMH4FMOa08OAKAoYVgFBn2KOIIuK4fOpKCoGEBcVxQCoKAqyIooZMCOisioqoBJEDOzu3Xn/X535z6szO+fec8895+6569b39fR0T4fq7urq6uowRbEW1tbA2hpYWwNra+A/tAbmrcHlpmzZUNR+yltWdYKdTeW9Zln9VMhcKDHlWEfGDb5S7xNDRHzdKn0IgrQxawTMZQKgwTHAio7V9aRsW8lsLbNN9b6F7E1kNpRZX4YwEMrNMv+Q+ZvMtTLXJHOD3tvgFpXnnCaIuUYANDi9kUbLvRD/XWT2krm7zB4yO8nQ8LeRGaScENV1Mn+Q+ZXMT2UukfmJzB9lMoCTiclDSP4+tu+DVMxsFwYcqWAqNrP17eReIPMwmfvKQADulXrtAoiF+P00DvlBUL3q5iZ9+7nMhTLnyXxb5kYZAzg0cfW3sbN7FXIcEKURMJm90+iPk9lX5n4yG8lkgEDKefPmFRtuuOE6t7rVrYr1119/3nrrrVesu+668u4UtyzLAmPAP39bsWJFuXz58uLmm28u//nPf5b//ve/Hdg4OSr2VTJfkzld5qsyEAhAZuZWjh8fxukxjgTgSnbD4/5vmYUyj5TJjR4Nrgaet8kmm6xz61vfOhr7X//6V/GnP/1JQYcDd7jDHSCkIIibbrqpvPHGG8uVK1fSqMbVGTFcnClziszF9pQNVwhck99YvI4TAbjHuOE3VQ0tlHmuzO4yhvhOD99ss83WueUtb1lce+21xd/+hvzWDU94whOKXXbZpbj97W9fbLnllsWmm24KZyiIc4tb0CZiF+IE9Hb18kK9vbjhhhuKv/zlL8WVV15Z/OIXvyjOO++87kTl2mabbSKdf/zjH+V1110Ht2CIMf4Ov0Qv75X5nD1kk6nLl7xX3+u4EECuGIS2F8j8jwxCHODes64afZ5MccUVV3S+VM999923uP/971/svvvuxfbbb19stdVWxcYbb1xssMEGNXvvijCFQz28gJNAWNdcc02xdOnS4qc//WkQxIUXXljHhqg233zzQlyhEDGsFEGB63p1gKL4od7/V+aTlR9cg3on3H88UBmMkwD2i2SuloG9YpbLrNhoo41KseFSFW3/sF/zmteUZ599diliKNVYqvt2gF1PTEz0ZQiL6QWw/0svvbQ87bTTykMPPbQLH3DcbrvtSg1JcITAvSoH4S6SYSgzQPTj0gGN06zaVICBirlUxhW6TO8T6sHljjvuaL+wn/e855XqgaV65SoNlRvaDTlZY/ZqZPwdPxNOMzzC4tKlS8tPf/rT5VOe8pQaz9vc5jaluFApuQE/CAHj72fpfTcZgzuA3Wu8nXs9ShpYoysnGl7S+yoNT497+9vfHhX961//um4LGgHTb0O7YdvsOtEeL45josjBmClccskl5Rve8AaXpYRzQQiagZgQGP95xz5KxpA7g/3WSDsX9GkqIYoWV8hyTcXKHXbYoa7Ae93rXuVnPvOZUoJZuWzZsnL//fevvx155JHB+t0INIqJoNlQ+ZvDt9m94jndZhz824jht7/9bfne9763xvV2t7tdianKCpH7nZnCnjJAc0bR8V2DnhaM1leZFsu4ElDDlre97W1j/ORdglU0vASwus4//vGPR/i73e1u5U477eS45fvf//5SUnsdjgaZDOAWzO+RGWwgrqniuaGnIob8/Q9/+EN53HHH1biCt6aquBEAo9yUV+YIGUPuJPYbmT1bQgiNzzjIdO4MmV1lYIPq9PPWVcUUv/nNb+Qsive85z3F0572tJi2hYceV111VbHtttvG1Evs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)
}
/* End Webmail Icon code */

The final code will be inserted around line 224 depending on how much space you added for the CSS above.

Look for the last closing a tag </a>, click just after the closing bracket and hit enter to create a new line.

Copy and paste the code below on the new line you just created. (You can alter the title & description text to suit your needs)

HTML code to add


<!-- This adds the webmail icon, link and description to the page -->
<a class="item" href="/webmail">
<div class="img_item webmail"></div>
<div class="item_desc_container">
<div class="item_title">
Web Mail
</div>
<div class="item_desc">
Access your email via web browser.
</div>
</div>
</a>
<!-- End webmail Link -->

Save the file.

Step 3

Now that we have the completed html file we can go about putting it in place. We move our modified default.html file into the default directory by pasting this into terminal:

sudo cp ~/Desktop/default.html /Library/Server/Web/Data/Sites/Default/

Open your web browser and point it to your default server page and you should now see your new Web Mail link.


If you are already running an English server and simply would like to have the completed html file you can download it here and save to your desktop and follow step 3.


Server app updates may possibly remove the custom file. Keep it on hand and simply repeat step 3

What are HTML5 desktop notifications and how do I use them for Roundcube?

HTML5 notifications allow Roundcube to post notifications to your operating system.

To enable desktop notifications on a Mac: Roundcube Settings, Preferences, Mailbox View.

desktop notifications plugin

Notifications can be configured to play a sound and display alerts or banners.


Source
https://plugins.roundcube.net/packages/kitist/html5_notifier

Version 0.5.2
https://github.com/kitist/html5_notifier/tree/master

License
GPL-3.0+

What does the Image Paster plugin do?

The Image Paster plugin allows you to paste an image directly into the body of an email.

Very useful when sending screenshots

image_paster plugin


Source
https://plugins.roundcube.net/packages/mat_krauser/image_paster

Version 1.0
https://github.com/mkrauser/roundcube_image_paster/tree/v1.0

License
GPL-3.0+