Emails sent using SMTP Codeigniter are breaking in different email providers inboxes - codeigniter

I've set up our website to send certain automated emails to users (change password, newsletter subscribe, etc..) using SMTP codeigniter.
Unfortunately, when testing the email received something always messes up, and depending on the provider it's a different issue!
Here is my email.php setting:
$config['protocol'] = 'smtp';
$config['smtp_host'] = 'ssl://smtpout.secureserver.net'; //change this
$config['smtp_port'] = '465';
$config['smtp_user'] = 'user#example.com'; //change this
$config['smtp_pass'] = 'password; //change this
$config['mailtype'] = 'html';
$config['charset'] = 'utf-8';
$config['wordwrap'] = TRUE;
$config['newline'] = "\r\n"; //use double quotes to comply with RFC 822 standard
Here is what the person should receive:
Hi, Subscription Test User!
Your Subscription has been updated successfully. Please enjoy the features that come with your monthly plan.
If you wish to change or cancel your Subscription, you can do so at any time through your Account Settings.
Here is what appears in AOL and GMail
Hi, Subscription%20Test%20User!
Your Subscription has been updated successfully. Please enjoy the features that come with your monthly plan.
If you wish to change or cancel your Subscription, you can do so at any time through your Account Settings.
And worse of all, this is appearing in Outlook/Hotmail
Hi, Subscription Test User!
=3Cbr />Your Subscription has been=pdated successfully. Please enjoy the feature= that come with your monthly plan.
If you wish to chang= or cancel your Subscription, you can do so at any time through your Accou=t Settings.
I don't know how to fix this and would really appreciate any help as to why different email providers are showing these characters replaced like this.
To break it down:
**AOL/Gmail:** replaces spaces for {user_name} with %20
**Outlook:** Adds =3Cbr /> and also replaces characters with =
Thank you!

Related

Email sent via Sendgrid getting late delivered to customers

We are using SendGrid to send email to customers once they get registered on our website.
We have two portals:
One is live, and another is a test portal.
When customers are signing up in the live portal, the email is getting delayed about 5 minutes to reach the customer, but when the customer is receiving the mail after 5 minutes, the time of receiving mail is showing exactly the same time at which customer did signup.
Whereas in the test portal, emails are getting delivered at the correct time.
The code in both portals are totally the same.
This problem is happening with only Gmail, but I am not able to find out why emails are getting delivered late in live portal.
If anyone faced this same problem before, can you please guide me to solve this?
Here below is the code to send email
if($input['email']!= ''){
$email = $input['email'];
$username = Input::get('name');
$password = Input::get('password');
if($userdata->email != '')
{
Mail::send('emails.templates.activation',
array('username' => $username,'customer'=>$customer,'code'=>$code), function($message) use ($userdata) {
$message->from('support#buynuse.net', 'Buynuse');
$message->to($userdata->email, $userdata->username)->subject('Please activate your new Buynuse account');
});
}
echo 'email';exit;
}

MS BotFramework: collecting users credentials

Apologies for the lack of code or detail but I honestly don't know where to start!
I am building a bot to run a couple of reports and update a bunch of stuff in SharePoint (currently 2013 but moving to Online later in 2017).
I don't want to store them in plain text within the folder structure of my bot but I don't want them visible when you type them into the chat bot either.
Is there a way to asterisk out the password as the user types it in?
Cheers!
Per my understanding, you want to mask the password input for your users. If any misunderstanding, please feel free to let me know.
So it seems that there is a similar question in GitHub at [Question] Masking Password field in Adaptive Card?
Password masking is not currently a feature. We recommend using the Sign-in Card workflow.
Using Sign-in card:
Activity replyToConversation = message.CreateReply("Should go to conversation");
replyToConversation.Attachments = new List<Attachment>();
List<CardAction> cardButtons = new List<CardAction>();
CardAction plButton = new CardAction()
{
Value = $"https://<OAuthSignInURL",
Type = "signin",
Title = "Connect"
};
cardButtons.Add(plButton);
SigninCard plCard = new SigninCard(title: "You need to authorize me", button: plButton);
Attachment plAttachment = plCard.ToAttachment();
replyToConversation.Attachments.Add(plAttachment);
var reply = await connector.Conversations.SendToConversationAsync(replyToConversation);
Then leverage https://github.com/MicrosoftDX/AuthBot in your bot for authentication.

Outlook blocks my PHPmailer but they deny it

I use phpmailer to deliver important information to my clients about their interactions with the site, security codes, etc. The mailer uses a gmail account I set up and works just fine emailing other gmail accounts. Hotmail has never worked, and my work outlook account received one or two emails before also going dark.
I emailed the header information to outlook but they state there's no block on the IP and plugging it into their automated system returns google postmaster (which they automatically e-mail instructions to for helping me out. I don't have access to the google postmaster account, so obviously I don't receive them).
My question is what do I do now. Half of my clients use outlook and I need to access them. Outlook customer service has been less helpful than a magic 8 ball and keep referring me back to their smart network data services, which keeps sending info to google postmaster. When I tell them this, they tell me there's no block on the IP and send me the same links. I'm stuck in their loop and just want them to let my e-mails get through!
EDIT: I believe it has to do with the PHPmailer, because if I send the e-mail directly from the google account, it gets through:
require "../mailer/PHPMailerAutoload.php";
$mail = new PHPMailer;
$mail->isSMTP(); // Set mailer to use SMTP
$mail->Host = 'smtp.gmail.com'; // Specify main and backup SMTP servers
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = $outputMail['email']; // SMTP username
$mail->Password = $outputMail['pass']; // SMTP password
$mail->SMTPSecure = 'tls'; // Enable TLS encryption, `ssl` also accepted
$mail->Port = 587; // TCP port to connect to
$mail->AddReplyTo("myemail#domain.com");
$mail->From = "myemail#domain.com";
$mail->FromName = "My Business";
$mail->addAddress($email); // Add a recipient
$mail->isHTML(true); // Set email format to HTML
So, after a LOT of digging, it turns out it was the PHPmailer, so I'll leave this here for anyone that needs it. Outlook / hotmail apparently have an EXTREMELY high spam filter, and mail that has a AddReplyTo or FROM section (as I had above) or does not have an 'unsubscribe' link can be filtered out. Removing that completely solved my problem.

How can we hide bcc while sending emails in wp7 using c#

I want to send email by adding bcc. But i want to hide bcc from the user. Is there any way to achieve this in windows platform using c# coding.
EmailComposeTask emailcomposer = new EmailComposeTask();
emailcomposer.To = "hello.com";
emailcomposer.Cc = "info#info.in";
emailcomposer.Bcc = "hi.com";
emailcomposer.Subject = "Regards";
emailcomposer.Body = "Hello Good Morning";
emailcomposer.Show();
There is no way to do this.
Doing so would compromise the security principles at the core of the platform as it would allow the recipient of the BCC email to see and gather people's contacts.
The basic security principle is that the app shouldn't be able to do something without the user noticing or specifically requesting it.

Is EmailComposeTask Class already working?

For example here:
http://msdn.microsoft.com/en-us/library/ff769550(VS.92).asp
EmailComposeTask emailComposeTask = new EmailComposeTask();
emailComposeTask.To = "user#example.com";
emailComposeTask.Body = "Email message body";
emailComposeTask.Cc = "user2#example.com";
emailComposeTask.Subject = "Email subject";
emailComposeTask.Show();
I read it doesnt work yet.
I have a real device, and an application in the marketplace - it is definitely working. The reason it doesn't work on an emulator is that you can't set up an email account on the emulator, and the first step of the email compose task when it is run is to prompt the user to select which email account to send the email with (if you've got more than one)
Since you can't set one up on the emulator, it kicks back and you can't send an email.
The only way to test this (for now) is to debug on an actual WP7 device, but I can 100% guarantee this is working.
One thing to note about the email tasker is that you can't programmatically add attachments...yet.
Yes, it works on real devices (not on the emulator)
Just pasted your code into an app, deployed to a device and was presented with a choice of which of my email accounts I wanted to use for the email after which the email was prepared ready editing and sending.

Resources