Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

In this Discussion

osTicket v1.9.4-RC5 is now available! Go get it now

Email Formatting

Here is a sample from Thunderbird. What can I do to make the email have it formatted with returns after specific lines? It looks like spam right now!

I have also tested it being sent to Outlook 2007 and still looks the same.

image


Thanks,

Brandon
«1

Comments

  • Has anyone found an answer to this yet?

    Thanks,

    Brandon
  • You can take a look at the function sendmail() in the file ./includes/class.misc.php

    This is the function that actually sends out the email, so perhaps you can try to alter some things here.

    I assume you are using the latest version of osTicket?
  • Have you added enters in the admin panel->email->templates ? If so try adding \r\n at the end of each line.
  • Here is the class.misc contents - What can I do to make the email formatted?


    <?php
    /*********************************************************************
    class.misc.php

    Misc collection of useful generic helper functions.

    Peter Rotich <peter@osticket.com>
    Copyright (c) 2006,2007,2008 osTicket
    [url]http://www.osticket.com[/url]

    Released under the GNU General Public License WITHOUT ANY WARRANTY.
    See LICENSE.TXT for details.

    vim: expandtab sw=4 ts=4 sts=4:
    $Id: $
    **********************************************************************/
    class Misc {

    function randCode($len=8) {
    return substr(strtoupper(base_convert(microtime(),10,16)),0,$len);
    }

    /* Helper used to generate ticket IDs */
    function randNumber($len=6,$start=false,$end=false) {

    mt_srand ((double) microtime() * 1000000);
    $start=(!$len && $start)?$start:str_pad(1,$len,\"0\",STR_PAD_RIGHT);
    $end=(!$len && $end)?$end:str_pad(9,$len,\"9\",STR_PAD_RIGHT);

    return mt_rand($start,$end);
    }

    /* misc date helpers...this will go away once we move to php 5 */
    function db2gmtime($var){
    global $cfg;
    if(!$var) return;

    $dbtime=is_int($var)?$var:strtotime($var);
    return $dbtime-($cfg->getMysqlTZoffset()*3600);
    }

    /*Helper get GM time based on timezone offset*/
    function gmtime() {
    return time()-date('Z');
    }

    /* Helper to send an alert to admin EMAIL */
    function alertAdmin($subj,$msg) {
    global $cfg;
    $to=$cfg?$cfg->getAdminEmail():ADMIN_EMAIL;
    $from=$cfg?$cfg->getAlertEmail():ADMIN_EMAIL;
    //Send alert to admin.
    Misc::sendmail($to,$subj,$msg,$from);
    }

    /* Send email out after minor cleanups..*/
    function sendmail($to, $subject, $message, $fromaddress,$fromname='', $xheaders = '') {
    //TODO: provide an option to use SMTP server. Log all outgoing emails??

    $eol=\"\n\";
    $fromname=$fromname?$fromname:$fromaddress;
    //do some cleanup...avoid stupid errors.
    $to=preg_replace(\"/(\r\n|\r|\n)/s\",'', trim($to));
    $subject=preg_replace(\"/(\r\n|\r|\n)/s\",'', trim($subject));
    $message = preg_replace(\"/(\r\n|\r)/s\", \"\n\", trim($message));
    #Headers
    $headers .= \"From: \".$fromname.\"<\".$fromaddress.\">\".$eol;
    $headers .= \"Reply-To: \".$fromname.\"<\".$fromaddress.\">\".$eol;
    $headers .= \"Return-Path: \".$fromname.\"<\".$fromaddress.\">\".$eol;
    $headers .= \"Message-ID: <\".time().\"-\".$fromaddress.\">\".$eol;
    $headers .= \"X-Mailer: osTicket v 1.6\".$eol;
    if($xheaders) { //possibly attachments...does mess with content type
    $headers .= $xheaders;
    }else{
    $headers .= \"Content-Type: text/plain; charset=utf-8\".$eol;
    $headers .= \"Content-Transfer-Encoding: 8bit\".$eol;
    }
    //echo \"[$to,$subject,$message \".$headers.']';
    mail($to,$subject,$message,trim($headers));
    }

    }
    ?>
  • you could try commenting out the line

    $message = preg_replace("/(\r\n|\r)/s", "\n", trim($message));
  • said:

    you could try commenting out the line

    $message = preg_replace("/(\r\n|\r)/s", "\n", trim($message));

    This worked perfectly!

    Now, one last question. In the attached image, how can I get -- do not edit -- to have to carriage returns. It's looks silly having the name righ beside it.

    Any ideas? I've check in the table reply_separator and cannot do it there....


    image
  • I have the same problem, but ion inspecting my class.misc.php is does not contain the same code.

    Any ideas.

    Code of class.misc.php is below.

    <?php
    /*********************************************************************
    class.misc.php

    Misc collection of useful generic helper functions.

    Peter Rotich <peter@osticket.com>
    Copyright (c) 2006,2007,2008,2009 osTicket
    [url]http://www.osticket.com[/url]

    Released under the GNU General Public License WITHOUT ANY WARRANTY.
    See LICENSE.TXT for details.

    vim: expandtab sw=4 ts=4 sts=4:
    $Id: $
    **********************************************************************/
    class Misc {

    function randCode($len=8) {
    return substr(strtoupper(base_convert(microtime(),10,16)),0,$len);
    }

    /* Helper used to generate ticket IDs */
    function randNumber($len=6,$start=false,$end=false) {

    mt_srand ((double) microtime() * 1000000);
    $start=(!$len && $start)?$start:str_pad(1,$len,\"0\",STR_PAD_RIGHT);
    $end=(!$len && $end)?$end:str_pad(9,$len,\"9\",STR_PAD_RIGHT);

    return mt_rand($start,$end);
    }

    function encrypt($text, $salt) {

    //if mcrypt extension is not installed--simply return unencryted text and log a warning.
    if(!function_exists('mcrypt_encrypt') || !function_exists('mcrypt_decrypt')) {
    $msg='Cryptography extension mcrypt is not enabled or installed. IMAP/POP passwords are being stored as plain text in database.';
    Sys::log(LOG_WARN,'mcrypt missing',$msg);
    return $text;
    }

    return trim(base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256,$salt, $text, MCRYPT_MODE_ECB,
    mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB), MCRYPT_RAND))));
    }

    function decrypt($text, $salt) {
    if(!function_exists('mcrypt_encrypt') || !function_exists('mcrypt_decrypt'))
    return $text;

    return trim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $salt, base64_decode($text), MCRYPT_MODE_ECB,
    mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB), MCRYPT_RAND)));
    }

    /* misc date helpers...this will go away once we move to php 5 */
    function db2gmtime($var){
    global $cfg;
    if(!$var) return;

    $dbtime=is_int($var)?$var:strtotime($var);
    return $dbtime-($cfg->getMysqlTZoffset()*3600);
    }

    //Take user time or gmtime and return db (mysql) time.
    function dbtime($var=null){
    global $cfg;

    if(is_null($var) || !$var)
    $time=Misc::gmtime(); //gm time.
    else{ //user time to GM.
    $time=is_int($var)?$var:strtotime($var);
    $offset=$_SESSION['TZ_OFFSET']+($_SESSION['daylight']?date('I',$time):0);
    $time=$time-($offset*3600);
    }
    //gm to db time
    return $time+($cfg->getMysqlTZoffset()*3600);
    }

    /*Helper get GM time based on timezone offset*/
    function gmtime() {
    return time()-date('Z');
    }

    //Current page
    function currentURL() {

    $str = 'http';
    if ($_SERVER['HTTPS'] == 'on') {
    $str .='s';
    }
    $str .= '://';
    if ($_SERVER['SERVER_PORT']!=80) {
    $str .= $_SERVER['SERVER_NAME'].':'.$_SERVER['SERVER_PORT'].$_SERVER['REQUEST_URI'];
    } else {
    $str .= $_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
    }

    return $str;
    }

    function timeDropdown($hr=null, $min =null,$name='time') {
    $hr =is_null($hr)?0:$hr;
    $min =is_null($min)?0:$min;

    //normalize;
    if($hr>=24)
    $hr=$hr%24;
    elseif($hr<0)
    $hr=0;

    if($min>=45)
    $min=45;
    elseif($min>=30)
    $min=30;
    elseif($min>=15)
    $min=15;
    else
    $min=0;

    ob_start();
    echo sprintf('<select name=\"%s\" id=\"%s\">',$name,$name);
    echo '<option value=\"\" selected>Time</option>';
    for($i=23; $i>=0; $i--) {
    for($minute=45; $minute>=0; $minute-=15) {
    $sel=($hr==$i && $min==$minute)?'selected=\"selected\"':'';
    $_minute=str_pad($minute, 2, '0',STR_PAD_LEFT);
    $_hour=str_pad($i, 2, '0',STR_PAD_LEFT);
    echo sprintf('<option value=\"%s:%s\" %s>%s:%s</option>',$_hour,$_minute,$sel,$_hour,$_minute);
    }
    }
    echo '</select>';
    $output = ob_get_contents();
    ob_end_clean();

    return $output;
    }


    }
    ?>
  • cause ur code is RC5 and the other is RC4
  • Thanks, So what do I need to do to resolve the foramt error?

    thanks
  • Does anyone know where I can find the equivalent file on RC5 so I can edit out the relevant line of code, or if that is not the solution give me an idea on where I need to make changes so the email format it correct.

    I would'nt think I'm the only one having this issue with the latest version.

    Help much appreciated.

    Ed
  • Thanks. But still no joy.

    I've gone to my Admin Panel. Clicked on the Emails Tab and selected my support@ email address I've created. there is nothing there that looks like Reply Seperator.

    However, the is a Reply Separator Tag under Admin Panel Settings, the scroll down to email Settings. Under the "Incoming Emails" section there is a Replay Separator comment to the right of a box with -- do not edit -- in it. Immediately above that there is a tick box that says "Strip quoted reply (depends on the tag below)" I've tried it Ticked (checked) and not Ticked (checked) and it makes no difference.

    The problem I have is the formatting of the responce emails that are set up in my templates. They look ok on the template set up page in OSTicket, but when the email is received there is no carrage return, no paragraph breaks and = sighs in various places. (see example below)...

    Dear joe blogs, Our customer support team personnel has replied to your support request #56=
    8839 Thank you for your support ticket. You can find all call and SMS costs & coverage at http://www.mydomain.co.uk/calls_and_coverage.php For Data coverage and Costs please check here http://www.mydomain.co.uk/Data_rates.php We hope this response has sufficiently answered your questions. If not, ple=
    ase do not send another email. Instead, reply to this email or login to you= r account for a complete archive of all your support request and responses. http://www.mydomain.co.uk/support/vi...domain.com&t==
    568839 Kind regards



    Still looking in hope to get the emails correctly formatted so I can get my help desk up and running.

    Any more guidance much appreciated.

    Ed
  • Here is my fix for the email formatting issues.

    Please note this was just a quick hack to get it all looking right on our networks M$ computers. This should be cleaned up by the developers.

    The biggest problems are:
    [LIST=1]
    [*]Encoding type used
    [*]Not passing TRUE to MailMime's headers() function - this allows you to overwrite the default content-type of text/plain (http://pear.php.net/manual/en/package.mail.mail-mime.get.php)
    [*]The code is a mess!
    [/LIST]

        function send($to,$subject,$message,$attachment=null) {
    global $cfg;

    //Get SMTP info IF enabled!
    $smtp=array();
    if($this->isSMTPEnabled() && ($info=$this->getSMTPInfo())){ //is SMTP enabled for the current email?
    $smtp=$info;
    }elseif($cfg && ($email=$cfg->getDefaultSMTPEmail()) && $email->isSMTPEnabled()){ //What about global SMTP setting?
    if($cfg->allowSMTPSpoofing() && ($info=$email->getSMTPInfo())){ //If spoofing is allowed..then continue.
    $smtp=$info;
    }elseif($email->getId()!=$this->getId()){//No spoofing allowed. Send it via the default SMTP email.
    return $email->send($to,$subject,$message,$attachment);
    }
    }

    //Get the goodies
    require_once ('Mail.php'); // PEAR Mail package
    require_once ('Mail/mime.php'); // PEAR Mail_Mime packge

    //do some cleanup
    $eol=\"\n\";
    $to=preg_replace(\"/(\r\n|\r|\n)/s\",'', trim($to));
    $subject=stripslashes(preg_replace(\"/(\r\n|\r|\n)/s\",'', trim($subject)));
    // fix email formatting: blackout - 11:16 AM 10/09/2009
    // $body = stripslashes(preg_replace(\"/(\r\n|\r)/s\", \"\n\", trim($message)));
    // moved down. need to make a TXT and HTML version.
    $fromname=$this->getName();
    $from =sprintf('\"%s\"<%s>',($fromname?$fromname:$this->getEmail()),$this->getEmail());
    $headers = array ('From' => $from,
    'To' => $to,
    'Subject' => $subject,
    'Message-ID' =>'<'.Misc::randCode(6).''.time().'-'.$this->getEmail().'>',
    'X-Mailer' =>'osTicket v 1.6',
    'Content-Type' => 'text/html; charset=\"UTF-8\"'
    );
    $mime = new Mail_mime();

    // fix email formatting: blackout - 11:16 AM 10/09/2009
    // set TXT version
    //$mime->setTXTBody(trim($message));
    // HTMLize
    $body = stripslashes(preg_replace(array(\"#(\r\n|\r|\n)+$#m\", \"#^(.+)#m\"), array(\"\n\", \"<p>$1</p>\"), trim($message)));
    // set HTML version
    $mime->setHTMLBody(\"<html><style> body { font-family: Calibri; font-size: 11pt; } </style><body>\" . $body . \"</body></html>\");



    //attachment TODO: allow multiple attachments - $attachment should be mixed parts.
    if($attachment && $attachment['file'] && is_readable($attachment['file'])) { //file of mime type.
    $mime->addAttachment($attachment['file'],$attachment['type'],$attachment['name']);
    }

    // fix email formatting: blackout - 11:16 AM 10/09/2009
    // commented the 3 lines below out. this sets MailMime back to its defaults. use utf-8 over iso
    // http://pear.php.net/manual/en/package.mail.mail-mime.get.php
    $options=array(//'head_encoding' => 'quoted-printable',
    //'text_encoding' => 'quoted-printable',
    'html_encoding' => 'base64',
    'html_charset' => 'utf-8',
    'text_charset' => 'utf-8'
    );

    //encode the body
    $body = $mime->get($options);

    //encode the headers.
    // fix email formatting: blackout - 11:16 AM 10/09/2009
    // must pass 2nd arg as TRUE to overwrite the default \"Content-Type\"
    $headers = $mime->headers($headers, true);
    if($smtp){ //Send via SMTP
    $mail = mail::factory('smtp',
    array ('host' => $smtp['host'],
    'port' => $smtp['port'],
    'auth' => $smtp['auth']?true:false,
    'username' => $smtp['username'],
    'password' => $smtp['password'],
    'timeout' =>20,
    'debug' => false,
    ));
    $result = $mail->send($to, $headers, $body);
    if(!PEAR::isError($result))
    return true;

    $alert=sprintf(\"Unable to email via %s:%d [%s]\n\n%s\",$smtp['host'],$smtp['port'],$smtp['username']);
    Sys::log(LOG_ALERT,'SMTP Error',$alert,false);
    //print_r($result);
    }

    //No SMTP or it failed....use php's native mail function.
    $mail = mail::factory('mail');
    return PEAR::isError($mail->send($to, $headers, $body))?false:true;

    }

    ________
    Chevrolet Kingswood Estate
  • @Blackout - Thank you for the feedback. I'm not too sure about "htmlizing" the message as part of the fix. We plan on supporting html formatted emails down the road. As for the messy code - I guess it depends on what you mean. :)
  • Thanks. hopefully that will fix it.

    Forgive my inexperience, but where does this new code go, get copied and pasted to, or uploaded to?
  • Thanks. I found the new code needed to go in the class.email file.

    I've updated it and it works.

    thanks again.
  • said:

    @Blackout - Thank you for the feedback. I'm not too sure about "htmlizing" the message as part of the fix. We plan on supporting html formatted emails down the road. As for the messy code - I guess it depends on what you mean. :)

    There should be HTML and TXT parts to the email. Especially if you are passing "Content-Type: text/html".
    Having both TXT and HTML parts allows the client app to best choose what it can display.

    I will be making changes to the formatting of emails that are imported into osT today. Hopefully ill get back to working on this.

    Great app, keep up the good work!
    said:

    Thanks. I found the new code needed to go in the class.email file.

    I've updated it and it works.

    thanks again.

    Yes. The changes go into includes/class.email.php

    When i posted, the message didnt appear so i couldnt edit it to add more details. I did make another post, but it didnt appear either. So i gave up :)

    Sorry for any confusion.
    ________
    Cr60
  • Formatting issues from Email tickets:
    • From is in UPPERCASE
    • Subject is in UPPERCASE
    • Newline formatting is very agressive
    * UPPERCASE fix
    File: includes/class.mailfetch.php
    Find function: createTicket()
    Add ABOVE:
    	function decodeHeader($txt) {
    $txt = imap_mime_header_decode($txt);
    return $txt[0]->text;
    }


    Replace function: createTicket()
    	function createTicket($mid, $emailid = 0) {
    global $cfg;

    $mailinfo = $this->getHeaderInfo($mid);

    //Make sure the email is NOT one of the undeleted emails.
    //TODO: Move emails to a fetched folder when delete is false??
    if ($mailinfo['mid'] && ($id = Ticket::getIdByMessageId(trim($mailinfo['mid']), $mailinfo['from']['email']))) return false;

    $var['name'] = $this->decodeHeader($mailinfo['from']['name']);
    $var['email'] = $mailinfo['from']['email'];
    $var['subject'] = ($mailinfo['subject'] ? $this->decodeHeader($mailinfo['subject']) : '[No Subject]');
    $var['message'] = Format::stripEmptyLines($this->getBody($mid));
    $var['header'] = $this->getHeader($mid);
    $var['emailId'] = ($emailid ? $emailid : $cfg->getDefaultEmailId()); //ok to default?
    $var['name'] = ($var['name'] ? $var['name'] : $var['email']); //No name? use email
    $var['mid'] = $mailinfo['mid'];

    if ($cfg->useEmailPriority()) $var['pri'] = $this->getPriority($mid);

    $ticket = null;
    $newticket = true;

    //Check the subject line for possible ID.
    if(ereg (\"[[][#][0-9]{1,10}[]]\",$var['subject'],$regs)) {
    $extid=trim(preg_replace(\"/[^0-9]/\", \"\", $regs[0]));
    $ticket= new Ticket(Ticket::getIdByExtId($extid));
    //Allow mismatched emails?? For now NO.
    if(!$ticket || strcasecmp($ticket->getEmail(),$var['email'])) $ticket=null;
    }

    $errors = array();
    if (!$ticket) {
    if (!($ticket=Ticket::create($var, $errors, 'Email')) || $errors) return null;
    $msgid = $ticket->getLastMsgId();
    } else {
    $message = $var['message'];
    //Strip quoted reply...TODO: figure out how mail clients do it without special tag..
    if($cfg->stripQuotedReply() && ($tag=$cfg->getReplySeparator()) && strpos($var['message'], $tag)) list($message) = split($tag, $var['message']);
    $msgid = $ticket->postMessage($message, 'Email', $var['mid'], $var['header']);
    }

    //Save attachments if any.
    if ($msgid && $cfg->allowEmailAttachments()) {
    if (($struct = imap_fetchstructure($this->mbox, $mid)) && $struct->parts) {
    //We've got something...do a search
    foreach($struct->parts as $k=>$part) {
    if ($part && $part->ifdparameters && ($filename = $part->dparameters[0]->value)) { //attachment
    if ($cfg->canUploadFileType($filename) && $cfg->getMaxFileSize() >= $part->bytes) {
    //extract the attachments...and do the magic.
    $data = $this->decode($part->encoding, imap_fetchbody($this->mbox,$mid,$k+1));
    $ticket->saveAttachment($filename, $data, $msgid, 'M');
    }
    }
    }
    }
    }

    return $ticket;
    }




    * Newline formatting fix
    File: includes/class.format.php
    Find function: stripEmptyLines()
    Replace with:
    	function stripEmptyLines($string) {
    //return preg_replace(\"/(^[\r\n]*|[\r\n]+)[\s\t]*[\r\n]+/\", \"\n\", $string);

    // Fix formatting: blackout - 9:22 AM 11/09/2009
    // * If the line started with a space, had more than 2 spaces anywhere else in the line, then this would result in 2 lines for 1 line
    // * i.e. Lipsum Lists: http://www.lipsum.com/feed/html?what=lists
    // * Strip >= 3 newlines, replace with 1 new line

    return preg_replace('/(\r?\n){3,}(\s+)/', \"\n\", $string);
    }

    ________
    Extreme q vaporizer
  • This hack will display Images/Attachments in the body of Ticket instead of having to click on the link at the top:

    Inline Images/Attachments
    File: includes/class.ticket.php
    Find function: getAttachmentStr()

    Add ABOVE:

    	// pgilchrist - 11:23 AM 11/09/2009
    function replaceAttachments($refid, $type, $text) {
    $sql = 'SELECT attach_id,file_size,file_name FROM '.TICKET_ATTACHMENT_TABLE.
    ' WHERE deleted=0 AND ticket_id='.db_input($this->getId()).' AND ref_id='.db_input($refid).' AND ref_type='.db_input($type);

    $allAttachments = db_query($sql);
    while ($attachment = db_fetch_array($allAttachments)) {
    $hash = MD5($this->getId() * $refid . session_id());
    $text = preg_replace(\"#\[cid:$attachment[file_name]@.*\]#\", \"<img src=\\"attachment.php?id=$attachment[attach_id]&ref=$hash\\" />\", $text);
    }

    return $text;
    }


    File: include/staff/viewticket.inc.php
    Find:
    Format::display($msg_row['message'])

    Replace with:
    $ticket->replaceAttachments($msg_row['msg_id'], 'M', Format::display($msg_row['message']))

    ________
    VAPOR TOWER VAPORIZER
  • said:

    you could try commenting out the line

    $message = preg_replace("/(\r\n|\r)/s", "\n", trim($message));

    On RC5 i cant find that line.

    Can any DEV-Team Member tell me a way to fix the e-mail formatting problem?

    (Only) with outlook the mails show incorrectly. Example:

    Hallo TEST, dies ist eine automatisch generierte Antwort auf Deine Nachricht mit dem Be= treff "TEST". Deine E-Mail-Anfrage ist bei uns eingegangen und es wurde eine Ticketnummer= erzeugt. Bitte nenne bei weiteren Anfragen, die diese Angelegenheit betref= fen, stets diese Ticketnummer im Betreff der E-Mail: [IPBS #872269] Viele Grüße, dein IPBSupport Team -- IPBSupport.de - Die Deutsche IP.Board Support Community! Kostenloser Support, deutsche Sprachpakete, Installationsservice, Skindesig= n, Grafikdesign, Webhosting und vieles mehr gibt es auf http://www.ipbsuppo= rt.de

    Note: No newlines and for example, "Betreff" show in the mail as "Be= treff" etc.
  • I just upgraded to the lastest RC5 version and the emails, as viewed in Outlook Express, are having a formatting problem, which causes links to be broken:

    -------

    Barbara Eyre,

    A request for support has been created and assigned ticket #19. A represent=
    ative will follow-up with you as soon as possible.

    You can view this ticket's progress online here: http://www.ourwebsite.co=
    m/helpdesk/tickets.php?e=barbara@myemailaddress.com&t=19.

    If you wish to send additional comments or information regarding this issue=
    , please do not open a new ticket. Simply login using the link above and up=
    date the ticket.

    -------------

    As you can see, each time there is a new line, the line ends with =, which causes the link to be broken. Plus it looks unprofessional. What is causing it to add the = and how does one get rid of it?
  • Same with mine, yet in thunderbird it shows it as 1 complete link, yet once mouse laid on it, it comes up with 2 different things...

    Like this.. the first part is part of my url... her https://www.girlfriendslin/ and the second part is the rest..with a mailto in front.. odd

    mailto:gerie.com/contact_center/view.php?e=removed&t=removed


    any ideas???
  • Peter,

    I can't seem to obtain the attachment with the changes in the thread you pointed me to ... I clicked on the word "Attachment" but nothing happened.
  • said:

    Peter,

    I can't seem to obtain the attachment with the changes in the thread you pointed me to ... I clicked on the word "Attachment" but nothing happened.

    Scroll towards the bottom for list of attachments. http://osticket.com/forums/project.php?issueid=154#attachments
  • I'm sorry - I still do not see an attachment anywhere on that page whatsoever. Not down by your post, not up in the section about this particular bug ... no where. If you can post a screenshot or something ??
  • I have the same issue.
    I tried this patch and is already a bit better (url is all in one line etc).
    But now there are no enters anymore:

    -- do not edit -- Beste Tom, Een ticket is geopend op uw naam. Uw referentie: #199336. Wij contacteren u zo snel mogelijk. U kan ook steeds de status van uw ticket online bekijken. Klik hier: http://www.**.be/support/view.php?e=*@**.be&t=199336. Datum: Mon, 12 Oct 2009 21:20. Indien u meer informatie aan uw ticket wenst toe te voegen, gelieve dan geen nieuw ticket te loggen of mail te sturen, maar klik op bovenstaande link. SUPPORT


    Any idea's?

    Thx
  • said:

    I'm sorry - I still do not see an attachment anywhere on that page whatsoever. Not down by your post, not up in the section about this particular bug ... no where. If you can post a screenshot or something ??

    It's at the very bottom, below the quick reply box.

    http://osticket.com/forums/projectattachment.php?attachmentid=5
  • If you don't see it, make sure you're logged in. Removing the www will log you out.

    http://www.osticket.com/forums/project.php?issueid=154#attachments.
  • Did this sollution worked with someone?
    I don't have the desired layout yet.
Sign In or Register to comment.