如何使用复选框将电子邮件发送给多个收件人?
问题描述:
我正在尝试创建一个按钮,该按钮使用复选框类型输入向任何电子邮件发送邀请。我真的需要你的帮助,如何做到这一点。
这是我的看法代码:如何使用复选框将电子邮件发送给多个收件人?
<form role="form" action="{{Extras::getEUserURLPath(Auth::user()->user_id, '/ajax/sendFriendsInvitation')}}" method="GET">
<div class="row form-group" style="padding-left: 50px;">
<?php $i=0 ?>
@if($friends)
@foreach($friends as $friend)
<?php $member = \App\User::find($friend); $i++;?>
@if (Auth::user()->user_id != $member->user_id)
<input type="checkbox" id="cb{{$i}}" value="{{ $member->user_id }}" name="mem[]">
<label class="col-md-5 boxed" for="cb{{$i}}">
{{isset($member->email) ? $member->email: ''}}
</label>
@endif
@endforeach
@endif
</div>
<div class="row form-inline" align="center" style="margin-left: -20%;">
<button type="submit" value="Submit" class="btn btn-sm btn-success invitation" title="Send Invitation"><i class="fa fa-plus"></i> Add Friends</button>
</div>
</form>
,我想我现在只需要将sendFriendsInvitation
以及
public function sendFriendsInvitation(Request $request, $account, $group){
$group = \App\Group::where('alias', 'LIKE', $group)->get();
$muser = Extras::getUserInfo($group[0]->user_id);
$arde = \App\Email::where('type', '=', 'uinv')->get();
$content = "";
$subject = "";
if ($arde->count() > 0) {
$content = $arde[0]->content;
$subject = str_replace(array('$resort_name', '$event_name'), array($resortName, $groupName),$arde[0]->subject);
} else {
$subject = 'Welcome to ' . $resortName . '! |' . $groupName;
$content = view('emails.content.content-of-friends-registration');
}
$access_info = '<p>Just follow the link below to accept your invitation. </p>';
$access_info .= '<p>Click <a href="#">here</a> and use your email ('.$muser->email.') to register.</p>';
$keywords = [
'firstname' => $muser->first_name,
'resort_name' => $resortName,
'group_name' => $groupName,
'access_info' => $access_info
];
$ar_key = array();
$ar_val = array();
foreach ($keywords as $key => $value) {
$ar_key[] = "$".$key;
$ar_val[] = $value;
}
$contation = str_replace($ar_key, $ar_val, $content);
$mdata = array(
'event_group_name' => $event_group->name,
'firstname' => $muser->first_name,
'lastname' => $muser->last_name,
'email' => $muser->email,
'code' => $muser->activation_code,
'utype' => "member",
'resort_name' => $resortName,
'group_name' => $groupName,
'created_by' => $request->input('first_name') . " " . $request->input('last_name'),
'company_email' => $owner->email,
'company_phone' => $owner->phone,
'company_website' => "",
'logo_img' => Extras::getMeta('logo', '\App\GroupMeta', $group[0]->group_id),
'header_img' => asset('storage/images/banner/' . $banner),
'social_fb' => Extras::getMeta('social_fb', '\App\GroupMeta', $group[0]->group_id),
'social_tw' => Extras::getMeta('social_tw', '\App\GroupMeta', $group[0]->group_id),
'social_insta' => Extras::getMeta('social_insta', '\App\GroupMeta',$group[0]->group_id),
'content' => $contation
);
$m_email = $muser->email;
$m_fname = $muser->first_name;
$m_lname = $muser->last_name;
Mail::send('emails.content.friends-registration', $mdata, function ($message) use ($owner, $m_email, $m_fname, $m_lname, $resortName, $groupName) {
$message->from($owner->email, $resortName)->to($m_email, $m_fname . ' ' . $m_lname)->subject('Welcome to ' . $resortName . '! |' . $groupName);
});
return response()->json(['response' => true]);
}
答
如果你想使用复选框仅用于发送电子邮件,然后您可以将输入元素更改为:
<input type="checkbox" id="cb{{$i}}" value="{{ $member->email }}" name="mem[]">
从'user_id'到'email'。
那么php方法“sendFriendsInvitation”可以是:
public function sendFriendsInvitation(Request $request, $account, $group){
$mails = [];
foreach($request->mem as $key => $val){
$mails[] = $val;
}
Mail::send('emails.content.friends-registration', $mdata, function ($message) use ($owner, $m_email, $m_fname, $m_lname, $resortName, $groupName) {
$message->from($owner->email, $resortName)->to($mails, $m_fname . ' ' . $m_lname)->subject('Welcome to ' . $resortName . '! |' . $groupName);
});
}
+1
你可以保留其余的代码,加: $ mails = []; foreach($ request-> mem as $ key => $ val){ $ mails [] = $ val; } –
的邮件“到”方法接受值的数组。因此,通过点击查看输入的ID,您可以获取他们的电子邮件并将其放入数组中。 例如:$ m_email = ['[email protected]','ja[email protected]']; –
谢谢你的回复。我应该如何把它放到$ mdata?我很抱歉,但这不是我的代码。我只是用它作为基础。这是我现在使用的,但我不知道如何制作一个。 –
哦,我认为'user_id'将用于'sendFriendsInvitation' for'$ muser = Extras :: getUserInfo($ group [0] - > user_id);' –