Answers.Body: <p>If you have a CiviMail and you get the view link for it and add a contact id and checksum tokens as you would normally (so you'll end up with something like <code>/civicrm/mailing/view?reset=1&amp;id=NNN&amp;cid={contact.id}&amp;{contact.checksum}</code>), then you'll have a personalized message in the browser (this is the same URL as you would get for the &quot;View in browser&quot; link).</p>
  <p>So just create an email mailing, send it to yourself, then send the link to view the mailing via SMS.</p>
  <p>But that is a rather long URL, unfortunately.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2023-09-15T02:05:11.180Z
Answers.Text: contact.hash isn't the right thing because that's just the hash - you need the checksum which includes a timestamp and lifetime `/civicrm/mailing/view?reset=1&id=NNN&cid={contact.id}&{contact.checksum}`. (note no `cs=`). But yes your solution is a good idea!
Answers.UserDisplayName: Demerit
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2023-09-15T04:16:22.703Z
Answers.Text: Thanks, fixed the answer. Though I think the cs= is optional, isn't it? Definitely works with it (and clearer too).
Answers.UserDisplayName: Lars SG
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2023-09-16T12:22:59.693Z
Answers.Text: Sorry but I need a bit more handholding. By adding the following link URL to the message it produces Lars' suggestion - {mailing.viewUrl}&cid={contact.id}&{contact.checksum}
  
  Clicking the resulting link on a logged in browser window displays the message. Likewise in a private/incognito window if Publication is set to Public Pages. Unfortunately the private window test results in Access denied if Publication is set to User and User Admin Only. Any thoughts on how to make that last use case work? I'm very reluctant to make these messages public, and the recipients don't have CiviCRM accounts.
Answers.UserDisplayName: wil_SRQ
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2023-09-16T14:44:29.933Z
Answers.Text: You're right, it doesn't allow access, but I think it should. Here's an issue: https://lab.civicrm.org/dev/core/-/issues/4608
Answers.UserDisplayName: Lars SG
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2023-09-16T14:45:45.513Z
Answers.Text: In the meantime, you could try changing the permission to view public mailings so that anonymous users cannot access them, then you can safely make the mailings public, but without making them actually public.
Answers.UserDisplayName: Lars SG
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2023-09-17T23:35:47.857Z
Answers.Text: Thank you Lars for creating the issue, that is the right approach. Unfortunately I was unable to get the hoped-for behavior from your suggested workaround.  I changed two permissions, removed "CiviMail: view public CiviMail content" from the Anonymous user and added "CiviMail: access CiviMail" to the Authenticated user. Still getting "Access denied" in a private/incognito window.
Answers.UserDisplayName: wil_SRQ
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2023-09-18T15:56:22.287Z
Answers.Text: Once you remove "view public CiviMail content" from anonymous (and make sure authenticated has "view public CiviMail content"), then you should be able to make the mailing visible to Public, but only authenticated users will actually be able to see it. I think this is different than what you have done. Don't need to add "access CiviMail".
Answers.UserDisplayName: Lars SG
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2023-09-15T00:26:52.240Z
Answers.LastActivityDate: 2023-09-15T04:15:06.047Z
Answers.LastEditDate: 2023-09-15T04:15:06.047Z
Answers.UserDisplayName: Lars SG
Body: <p>We communicate with the families we serve via SMS, email has proven much less effective. Is there a way to send via SMS a link to a fully formatted, personalized message? Akin to a &quot;view in browser&quot; button from CiviMail, but where the content of the SMS is short/simple and the link opens a richer message.</p>
  <p>CiviCRM 5.64.4, Drupal 7.97</p>
  
Tags: <sms><civisms>
Title: SMS and "view in browser"
ThreadText: # SMS and "view in browser"
  
  (Asked by: username_0 on 2023-09-14)
  
  We communicate with the families we serve via SMS, email has proven much less effective. Is there a way to send via SMS a link to a fully formatted, personalized message? Akin to a "view in browser" button from CiviMail, but where the content of the SMS is short/simple and the link opens a richer message.
  
  CiviCRM 5.64.4, Drupal 7.97
  
  **Tags:** sms, civisms
  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_1 on 2023-09-15. Score: 2 | Accepted answer
  
  If you have a CiviMail and you get the view link for it and add a contact id and checksum tokens as you would normally (so you'll end up with something like `/civicrm/mailing/view?reset=1&id=NNN&cid={contact.id}&{contact.checksum}`), then you'll have a personalized message in the browser (this is the same URL as you would get for the "View in browser" link).
  
  So just create an email mailing, send it to yourself, then send the link to view the mailing via SMS.
  
  But that is a rather long URL, unfortunately.
  
  > **Comments:**
  > **username_2**: contact.hash isn't the right thing because that's just the hash - you need the checksum which includes a timestamp and lifetime `/civicrm/mailing/view?reset=1&id=NNN&cid={contact.id}&{contact.checksum}`. (note no `cs=`). But yes your solution is a good idea!  
  > **username_1**: Thanks, fixed the answer. Though I think the cs= is optional, isn't it? Definitely works with it (and clearer too).  
  > **username_0**: Sorry but I need a bit more handholding. By adding the following link URL to the message it produces username_1' suggestion - {mailing.viewUrl}&cid={contact.id}&{contact.checksum}  Clicking the resulting link on a logged in browser window displays the message. Likewise in a private/incognito window if Publication is set to Public Pages. Unfortunately the private window test results in Access denied if Publication is set to User and User Admin Only. Any thoughts on how to make that last use case work? I'm very reluctant to make these messages public, and the recipients don't have CiviCRM accounts.  
  > **username_1**: You're right, it doesn't allow access, but I think it should. Here's an issue: https://lab.civicrm.org/dev/core/-/issues/4608  
  > **username_1**: In the meantime, you could try changing the permission to view public mailings so that anonymous users cannot access them, then you can safely make the mailings public, but without making them actually public.  
  > **username_0**: Thank you username_1 for creating the issue, that is the right approach. Unfortunately I was unable to get the hoped-for behavior from your suggested workaround.  I changed two permissions, removed "CiviMail: view public CiviMail content" from the Anonymous user and added "CiviMail: access CiviMail" to the Authenticated user. Still getting "Access denied" in a private/incognito window.  
  > **username_1**: Once you remove "view public CiviMail content" from anonymous (and make sure authenticated has "view public CiviMail content"), then you should be able to make the mailing visible to Public, but only authenticated users will actually be able to see it. I think this is different than what you have done. Don't need to add "access CiviMail".  
  
  ---
  
  